Docs โบ User โบ MCP Servers & Extensions
๐งฉ MCP Servers & Extensions
Connect any tool, database, or service to the AI agent using MCP servers and editor extensions.
Overview
Oryn's extensibility system lets you plug in external tool servers and editor extensions that expand what the AI agent can do and how the editor behaves. MCP (Model Context Protocol) servers give the agent live access to capabilities like running shell commands, reading Git history, querying databases, browsing the web, and managing Kubernetes clusters. The Extensions Marketplace layers on top of the editor itself with linters, language support, themes, productivity tools, and more. Together, they let you tailor Oryn to your exact stack without writing custom integration code.
How it works
Each MCP server is a small Node.js process that speaks MCP's JSON-RPC protocol over one of three transports: stdio (a local process launched by Oryn), SSE, or HTTP (for remote servers). Server definitions โ name, transport type, command or URL, arguments, environment variables, and headers โ are stored in browser localStorage under the key `oryn.mcpServers` and loaded every time the MCP Servers panel opens. When a server is marked enabled, the agent can discover and call the tools it exposes during any chat session. Plugin agents (`.dll` bundles installed via a ZIP upload) are loaded by the .NET backend's `AgentRegistry`, signature-verified before being accepted, and surfaced in the Agent Marketplace alongside built-in agents. The Extensions Marketplace manages install and enable state locally in localStorage and presents a categorized catalog of editor extensions; the full runtime load mechanism is planned for a future release.
What you can do
MCP Server ManagerAdd, edit, enable/disable, and delete MCP tool servers from a dedicated panel with per-server transport, command, arguments, environment variables, headers, and notes fields.
stdio TransportLaunch a local process (e.g. via npx) as an MCP server; configure the command, arguments (one per line), and environment variables (KEY=value, one per line).
SSE / HTTP TransportConnect to a remote MCP server by URL with optional custom request headers, useful for hosted or team-shared tool endpoints.
Built-in MCP CatalogShips with ready-to-use server presets for Filesystem, Git, Postgres, and web search โ all disabled by default so you opt in explicitly.
Git MCP ServerGives the agent git status, log, diff, branch listing, PR scaffolding, GitHub PR creation and review submission, commit, and push tools.
Shell MCP ServerLets the agent run shell commands with a configurable timeout and maintain shared terminal session ring buffers; dangerous patterns (recursive deletes, fork bombs, pipe-to-shell) are blocked automatically.
Web MCP ServerProvides web_fetch (SSRF-safe, redirect-validated) and web_search (via SerpAPI when a key is configured) tools to the agent.
Browser MCP ServerDrives a headless Chromium session via Playwright; supports navigation, clicking, form filling, screenshots, accessibility snapshots, console log capture, and site-knowledge injection.
Memory MCP ServerPersists agent facts to a Postgres/pgvector store keyed by workspace ID, with store, recall, list, and text-search tools that survive across sessions.
Kubectl MCP ServerExposes get, describe, logs, apply, delete, exec, scale, rollout, and top commands against a Kubernetes cluster via the local kubectl binary.
Site Analyzer MCP ServerAnalyzes a React/Next/Vite workspace to extract routes, components, forms, modals, and navigation, then writes a site-knowledge JSON file that the Browser MCP can inject as context.
Agent MarketplaceBrowse and invoke built-in and plugin agents (TicketCreation, SupportHelper, OnCallTriage) along with any MCP-sourced agents discovered at startup.
Plugin Install via ZIPUpload a ZIP containing .dll plugin assemblies; the backend extracts, signature-verifies each DLL, loads accepted ones into the agent registry, and reports extraction and rejection counts.
Extensions MarketplaceBrowse, install, enable/disable, and uninstall editor extensions across categories: AI, Linter, Theme, Snippets, Language, Tools, and Productivity.
Rules MarketplaceInstall community-published .orynrules system-prompt packs directly into the active workspace root from the cloud registry.
How to use it
- Open the MCP Servers panel
Click the MCP Servers option in the settings or toolbar area. The panel opens as a modal. On first launch it seeds four default servers (Filesystem, Git, Postgres, Brave Search) in a disabled state. - Select a server or create a new one
Click an existing server in the left-hand list to edit it, or click '+ Add' to create a blank entry with stdio transport selected. - Choose a transport
Select 'stdio' for a local process or 'sse'/'http' for a remote endpoint. The form fields update accordingly: stdio shows Command, Arguments, and Environment Variables; SSE/HTTP shows URL and Headers. - Fill in connection details
For stdio, enter the executable (e.g. 'npx'), one argument per line (e.g. '-y' then '@modelcontextprotocol/server-git'), and any environment variables in KEY=value format one per line. For SSE/HTTP, paste the full URL and add any required headers such as an authorization token. - Enable the server
Check the 'Enabled' checkbox. The indicator dot in the list turns green to confirm the server is active for the agent. - Save
Click Save. The configuration is written to localStorage immediately. No restart is required; the agent picks up enabled servers at the start of the next chat. - Browse and install extensions
Open the Extensions Marketplace from the toolbar. Search or filter by category (AI, Linter, Language, Tools, etc.), then click Install on any extension. Once installed, use the Enable/Disable toggle to activate it. - Install a plugin agent (advanced)
Build or obtain a .dll plugin that implements the Oryn Agent SDK interface, package it into a ZIP, and upload it via the Install endpoint. The backend verifies signatures, loads accepted assemblies, and the agent becomes available in the Agent Marketplace.
Example
You want the agent to be able to run shell commands during a chat session. Open the MCP Servers panel, click '+ Add', name it 'Shell', leave the transport as 'stdio', set Command to 'node' and add the path to shell-mcp/index.js as the single argument. Set the environment variable ORYN_WORKSPACE_ROOT to your project root (e.g. ORYN_WORKSPACE_ROOT=/home/you/myproject). Check 'Enabled' and click Save. In the next chat, ask the agent "Run the test suite" โ it calls the shell_run tool, executes your test command inside the workspace root, and returns the combined stdout and stderr. Commands matching dangerous patterns (such as rm -rf /) are automatically refused by the server before execution.
Admin notes
MCP server definitions are stored in each user's browser localStorage, so they are per-user and per-machine by default โ there is no central push mechanism for pre-configuring servers across a team in the current build. Plugin DLL uploads (via POST /api/v1/agents/install) are limited to 20 MB per request; each DLL is run through IPluginSignatureVerifier and any rejected file is deleted before the registry loads. The Extensions Marketplace notes in the UI that the full install/load runtime is not yet active โ extension state (installed, enabled) is tracked locally but extensions are not yet dynamically loaded into the editor. The web-mcp server's web_search tool requires a SERPAPI_KEY environment variable to be set; without it the tool returns an informative error rather than silently failing. The memory-mcp server expects a reachable Postgres instance configured via POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, and POSTGRES_PASSWORD environment variables.
Related