- Explore MCP Servers
- eliza-plugin-mcp
Eliza Plugin Mcp
What is Eliza Plugin Mcp
eliza-plugin-mcp is a plugin for ElizaOS that integrates the Model Context Protocol (MCP), enabling agents to connect to multiple MCP servers and utilize their resources, prompts, and tools.
Use cases
Use cases for eliza-plugin-mcp include building intelligent agents that can fetch data from different sources, automate tasks using various tools, and enhance interactions by leveraging multiple context providers.
How to use
To use eliza-plugin-mcp, install it via npm, pnpm, yarn, or bun. Then, add the plugin to your character configuration in ElizaOS, specifying the MCP servers you want to connect to.
Key features
Key features include the ability to connect to multiple MCP servers, access various resources and prompts, and execute tools provided by the servers. It supports both ‘stdio’ and ‘sse’ server types with customizable configurations.
Where to use
undefined
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Eliza Plugin Mcp
eliza-plugin-mcp is a plugin for ElizaOS that integrates the Model Context Protocol (MCP), enabling agents to connect to multiple MCP servers and utilize their resources, prompts, and tools.
Use cases
Use cases for eliza-plugin-mcp include building intelligent agents that can fetch data from different sources, automate tasks using various tools, and enhance interactions by leveraging multiple context providers.
How to use
To use eliza-plugin-mcp, install it via npm, pnpm, yarn, or bun. Then, add the plugin to your character configuration in ElizaOS, specifying the MCP servers you want to connect to.
Key features
Key features include the ability to connect to multiple MCP servers, access various resources and prompts, and execute tools provided by the servers. It supports both ‘stdio’ and ‘sse’ server types with customizable configurations.
Where to use
undefined
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
MCP Plugin for ElizaOS
This plugin integrates the Model Context Protocol (MCP) with ElizaOS, allowing agents to connect to multiple MCP servers and use their resources, prompts, and tools.
🔍 What is MCP?
The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. It provides a standardized way to connect LLMs with the context they need.
This plugin allows your ElizaOS agents to access multiple MCP servers simultaneously, each providing different capabilities:
- Resources: Context and data for the agent to reference
- Prompts: Templated messages and workflows
- Tools: Functions for the agent to execute
📦 Installation
Install the plugin in your ElizaOS project:
- npm
npm install @fleek-platform/eliza-plugin-mcp
- pnpm
pnpm install @fleek-platform/eliza-plugin-mcp
- yarn
yarn add @fleek-platform/eliza-plugin-mcp
- bun
bun add @fleek-platform/eliza-plugin-mcp
🚀 Usage
- Add the plugin to your character configuration:
{
"name": "Your Character",
"plugins": [
"@fleek-platform/eliza-plugin-mcp"
],
"settings": {
"mcp": {
"servers": {
"github": {
"type": "stdio",
"name": "Code Server",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
]
}
}
}
}
}
⚙️ Configuration Options
MCP supports two types of servers: “stdio” and “sse”. Each type has its own configuration options.
Common Options
| Option | Type | Description |
|---|---|---|
type |
string | The type of MCP server: “stdio” or “sse” |
name |
string | The display name of the server |
timeout |
number | Timeout in seconds for tool calls (default: 60) |
disabled |
boolean | Whether the server is disabled |
stdio Server Options
| Option | Type | Description |
|---|---|---|
command |
string | The command to run the MCP server |
args |
string[] | Command-line arguments for the server |
env |
object | Environment variables to pass to the server |
cwd |
string | Optional Working directory to run the server in |
sse Server Options
| Option | Type | Description |
|---|---|---|
url |
string | The URL of the SSE endpoint |
🛠️ Using MCP Capabilities
Once configured, the plugin automatically exposes MCP servers’ capabilities to your agent:
Context Providers
The plugin includes three providers that add MCP capabilities to the agent’s context:
MCP_SERVERS: Lists available servers and their tools, resources and prompts
🔄 Plugin Flow
The following diagram illustrates the MCP plugin’s flow for tool selection and execution:
graph TD %% Starting point - User request start[User Request] --> action[CALL_TOOL Action] %% MCP Server Validation action --> check{MCP Servers Available?} check -->|No| fail[Return No Tools Available] %% Tool Selection Flow check -->|Yes| state[Get MCP Provider Data] state --> prompt[Create Tool Selection Prompt] %% First Model Use - Tool Selection prompt --> model1[Use Language Model for Tool Selection] model1 --> parse[Parse Selection] parse --> retry{Valid Selection?} %% Second Model Use - Retry Selection retry -->|No| feedback[Generate Feedback] feedback --> model2[Use Language Model for Retry] model2 --> parse %% Tool Selection Result retry -->|Yes| toolAvailable{Tool Available?} toolAvailable -->|No| fallback[Fallback Response] %% Tool Execution Flow toolAvailable -->|Yes| callTool[Call MCP Tool] callTool --> processResult[Process Tool Result] %% Memory Creation processResult --> createMemory[Create Memory Record] createMemory --> reasoningPrompt[Create Reasoning Prompt] %% Third Model Use - Response Generation reasoningPrompt --> model3[Use Language Model for Response] model3 --> respondToUser[Send Response to User] %% Styling classDef model fill:#f9f,stroke:#333,stroke-width:2px; classDef decision fill:#bbf,stroke:#333,stroke-width:2px; classDef output fill:#bfb,stroke:#333,stroke-width:2px; class model1,model2,model3 model; class check,retry,toolAvailable decision; class respondToUser,fallback output;
📋 Example: Setting Up Multiple MCP Servers
Here’s a complete example configuration with multiple MCP servers of both types:
{
"name": "Developer Assistant",
"plugins": [
"@elizaos/plugin-mcp",
"other-plugins"
],
"settings": {
"mcp": {
"servers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
},
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
},
"google-maps": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-google-maps"
],
"env": {
"GOOGLE_MAPS_API_KEY": "<YOUR_API_KEY>"
}
}
},
"maxRetries": 2
}
}
}
🔒 Security Considerations
Please be aware that MCP servers can execute arbitrary code, so only connect to servers you trust.
🔍 Troubleshooting
If you encounter issues with the MCP plugin:
- Check that your MCP servers are correctly configured and running
- Ensure the commands are accessible in the ElizaOS environment
- Review the logs for connection errors
- Verify that the plugin is properly loaded in your character configuration
👥 Contributing
Thanks for considering contributing to our project!
How to Contribute
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch-name. - Make your changes.
- Commit your changes using conventional commits.
- Push to your fork and submit a pull request.
Commit Guidelines
We use Conventional Commits for our commit messages:
test: 💍 Adding missing testsfeat: 🎸 A new featurefix: 🐛 A bug fixchore: 🤖 Build process or auxiliary tool changesdocs: ✏️ Documentation only changesrefactor: 💡 A code change that neither fixes a bug or adds a featurestyle: 💄 Markup, white-space, formatting, missing semi-colons…
📄 License
This plugin is released under the same license as ElizaOS.
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










