MCP Servers
MCP (Model Context Protocol) is an open standard that allows AI Agents to communicate with external tool servers. Through MCP, you can connect capabilities such as filesystem access, web search, database queries, and code repository browsing to Elftia in a standardized way, enabling Agents to invoke these external tools directly during a conversation.
Why MCP
An Agent's built-in capabilities are limited. With MCP, you can:
- Expand the toolset — Register the capabilities of any external service as tools that the Agent can call
- Standardize the interface — Tools from different sources communicate using a unified protocol, eliminating the need to write custom adapters for each one
- Connect on demand — Enable only the servers needed for the current task, keeping the tool list from becoming unwieldy
- Reuse across projects — The same set of MCP server configurations can be shared across multiple Agents
Three Transport Protocols
Elftia supports three MCP transport types. Choose the one that fits your use case:
| Transport type | How it connects | Use case | Example |
|---|---|---|---|
| Stdio | Launches a local child process, communicates via standard input/output | Local tools, CLI wrappers, npm/pip packages | npx @modelcontextprotocol/server-filesystem |
| SSE | Long connection via HTTP Server-Sent Events | Remote services, scenarios requiring real-time push | https://api.example.com/mcp/sse |
| HTTP | Request/response based on Streamable HTTP | Remote REST-style MCP services | https://api.example.com/mcp |
:::tip How to Choose
- Choose Stdio for most cases — MCP server packages installed via npm or pip typically use Stdio
- Choose SSE or HTTP for remotely hosted services — such as cloud-hosted MCP services provided by third parties
- SSE vs. HTTP — SSE is based on the older MCP spec; HTTP is based on the MCP 2025-03-26 spec (Streamable HTTP). Prefer HTTP for new services :::
Tool Discovery and Usage Flow
Once you configure an MCP server, Elftia automatically handles the following:
MCP server starts / connects
↓
Elftia automatically discovers the list of tools the server provides
↓
Tools are registered in the Agent's available toolset
↓
The Agent calls tools as needed during a conversation
↓
The tool returns results; the Agent integrates them into its reply
Tool naming format: Each MCP tool is registered as mcp__<server-name>__<tool-name>. For example, the read_file tool provided by a server named filesystem is identified in the Agent as mcp__filesystem__read_file.
MCP and Agents
MCP servers can be paired with Agents flexibly:
- Automatic mode (default) — Tools from all enabled MCP servers are automatically available to all Agents
- Manual mode — Select which MCP servers to use before each conversation
- Agent binding — Associate specific MCP servers with specific Agents for dedicated tool configurations
Feature Summary
| Feature | Description |
|---|---|
| Multiple transport protocols | Stdio, SSE, and HTTP connection options |
| Automatic tool discovery | After connecting, the tool list is fetched automatically and cached for 5 minutes |
| JSON bulk import | Add multiple servers at once via JSON configuration |
| Dependency auto-detection | Automatically checks whether node/npm/uv/uvx and other CLI tools are installed |
| Connection testing | One-click test of server connection status and available tools |
| Tool disabling | Selectively disable specific tools from a server |
| Trust management | Distinguish between trusted and untrusted servers |
| Official presets | Built-in one-click installation configurations for common MCP servers |
Next Steps
- Adding MCP Servers — Step-by-step guide for adding each type of MCP server
- JSON Bulk Import — Add multiple servers at once via a JSON configuration file
- Using MCP Tools — Learn how tools are used during a conversation