{"id":35797526,"url":"https://github.com/fleek-platform/eliza-plugin-mcp","last_synced_at":"2026-02-18T16:30:35.458Z","repository":{"id":283498198,"uuid":"951486517","full_name":"fleek-platform/eliza-plugin-mcp","owner":"fleek-platform","description":"ElizaOS plugin allowing agents to connect to MCP servers","archived":false,"fork":false,"pushed_at":"2025-03-28T22:54:39.000Z","size":101,"stargazers_count":44,"open_issues_count":1,"forks_count":18,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-20T04:38:16.446Z","etag":null,"topics":["eliza","elizaos-plugins","fleek","mcp","mcp-client"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fleek-platform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-19T18:53:02.000Z","updated_at":"2025-07-28T07:28:09.000Z","dependencies_parsed_at":"2025-03-20T15:35:43.909Z","dependency_job_id":"5a6e3694-b908-4cd8-a357-bbae050f7d13","html_url":"https://github.com/fleek-platform/eliza-plugin-mcp","commit_stats":null,"previous_names":["fleek-platform/eliza-plugin-mcp"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/fleek-platform/eliza-plugin-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fleek-platform%2Feliza-plugin-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fleek-platform%2Feliza-plugin-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fleek-platform%2Feliza-plugin-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fleek-platform%2Feliza-plugin-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fleek-platform","download_url":"https://codeload.github.com/fleek-platform/eliza-plugin-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fleek-platform%2Feliza-plugin-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29585532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T13:56:48.962Z","status":"ssl_error","status_checked_at":"2026-02-18T13:54:34.145Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eliza","elizaos-plugins","fleek","mcp","mcp-client"],"created_at":"2026-01-07T10:00:54.768Z","updated_at":"2026-02-18T16:30:35.441Z","avatar_url":"https://github.com/fleek-platform.png","language":"TypeScript","funding_links":[],"categories":["📚 Projects (2474 total)"],"sub_categories":["MCP Servers"],"readme":"# MCP Plugin for ElizaOS\n\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-blue.svg)](https://conventionalcommits.org)\n\nThis plugin integrates the Model Context Protocol (MCP) with ElizaOS, allowing agents to connect to multiple MCP servers and use their resources, prompts, and tools.\n\n## 🔍 What is MCP?\n\nThe [Model Context Protocol](https://modelcontextprotocol.io) (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.\n\nThis plugin allows your ElizaOS agents to access multiple MCP servers simultaneously, each providing different capabilities:\n\n- **Resources**: Context and data for the agent to reference\n- **Prompts**: Templated messages and workflows\n- **Tools**: Functions for the agent to execute\n\n## 📦 Installation\n\nInstall the plugin in your ElizaOS project:\n\n- **npm**\n\n```bash\nnpm install @fleek-platform/eliza-plugin-mcp\n```\n\n- **pnpm**\n\n```bash\npnpm install @fleek-platform/eliza-plugin-mcp\n```\n\n- **yarn**\n\n```bash\nyarn add @fleek-platform/eliza-plugin-mcp\n```\n\n- **bun**\n\n```bash\nbun add @fleek-platform/eliza-plugin-mcp\n```\n\n## 🚀 Usage\n\n1. Add the plugin to your character configuration:\n\n```json\n{\n  \"name\": \"Your Character\",\n  \"plugins\": [\"@fleek-platform/eliza-plugin-mcp\"],\n  \"settings\": {\n    \"mcp\": {\n      \"servers\": {\n        \"github\": {\n          \"type\": \"stdio\",\n          \"name\": \"Code Server\",\n          \"command\": \"npx\",\n          \"args\": [\"-y\", \"@modelcontextprotocol/server-github\"]\n        }\n      }\n    }\n  }\n}\n```\n\n## ⚙️ Configuration Options\n\nMCP supports two types of servers: \"stdio\" and \"sse\". Each type has its own configuration options.\n\n### Common Options\n\n| Option     | Type    | Description                                     |\n| ---------- | ------- | ----------------------------------------------- |\n| `type`     | string  | The type of MCP server: \"stdio\" or \"sse\"        |\n| `name`     | string  | The display name of the server                  |\n| `timeout`  | number  | Timeout in seconds for tool calls (default: 60) |\n| `disabled` | boolean | Whether the server is disabled                  |\n\n### stdio Server Options\n\n| Option    | Type     | Description                                       |\n| --------- | -------- | ------------------------------------------------- |\n| `command` | string   | The command to run the MCP server                 |\n| `args`    | string[] | Command-line arguments for the server             |\n| `env`     | object   | Environment variables to pass to the server       |\n| `cwd`     | string   | _Optional_ Working directory to run the server in |\n\n### sse Server Options\n\n| Option    | Type   | Description                            |\n| --------- | ------ | -------------------------------------- |\n| `url`     | string | The URL of the SSE endpoint            |\n\n## 🛠️ Using MCP Capabilities\n\nOnce configured, the plugin automatically exposes MCP servers' capabilities to your agent:\n\n### Context Providers\n\nThe plugin includes three providers that add MCP capabilities to the agent's context:\n\n1. `MCP_SERVERS`: Lists available servers and their tools, resources and prompts\n\n## 🔄 Plugin Flow\n\nThe following diagram illustrates the MCP plugin's flow for tool selection and execution:\n\n```mermaid\ngraph TD\n    %% Starting point - User request\n    start[User Request] --\u003e action[CALL_TOOL Action]\n\n    %% MCP Server Validation\n    action --\u003e check{MCP Servers Available?}\n    check --\u003e|No| fail[Return No Tools Available]\n    \n    %% Tool Selection Flow\n    check --\u003e|Yes| state[Get MCP Provider Data]\n    state --\u003e prompt[Create Tool Selection Prompt]\n    \n    %% First Model Use - Tool Selection\n    prompt --\u003e model1[Use Language Model for Tool Selection]\n    model1 --\u003e parse[Parse Selection]\n    parse --\u003e retry{Valid Selection?}\n    \n    %% Second Model Use - Retry Selection\n    retry --\u003e|No| feedback[Generate Feedback]\n    feedback --\u003e model2[Use Language Model for Retry]\n    model2 --\u003e parse\n    \n    %% Tool Selection Result\n    retry --\u003e|Yes| toolAvailable{Tool Available?}\n    toolAvailable --\u003e|No| fallback[Fallback Response]\n    \n    %% Tool Execution Flow\n    toolAvailable --\u003e|Yes| callTool[Call MCP Tool]\n    callTool --\u003e processResult[Process Tool Result]\n    \n    %% Memory Creation\n    processResult --\u003e createMemory[Create Memory Record]\n    createMemory --\u003e reasoningPrompt[Create Reasoning Prompt]\n    \n    %% Third Model Use - Response Generation\n    reasoningPrompt --\u003e model3[Use Language Model for Response]\n    model3 --\u003e respondToUser[Send Response to User]\n    \n    %% Styling\n    classDef model fill:#f9f,stroke:#333,stroke-width:2px;\n    classDef decision fill:#bbf,stroke:#333,stroke-width:2px;\n    classDef output fill:#bfb,stroke:#333,stroke-width:2px;\n    \n    class model1,model2,model3 model;\n    class check,retry,toolAvailable decision;\n    class respondToUser,fallback output;\n```\n\n## 📋 Example: Setting Up Multiple MCP Servers\n\nHere's a complete example configuration with multiple MCP servers of both types:\n\n```json\n{\n  \"name\": \"Developer Assistant\",\n  \"plugins\": [\"@elizaos/plugin-mcp\", \"other-plugins\"],\n  \"settings\": {\n    \"mcp\": {\n      \"servers\": {\n        \"github\": {\n          \"command\": \"npx\",\n          \"args\": [\"-y\", \"@modelcontextprotocol/server-github\"],\n          \"env\": {\n            \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"\u003cYOUR_TOKEN\u003e\"\n          }\n        },\n        \"puppeteer\": {\n          \"command\": \"npx\",\n          \"args\": [\"-y\", \"@modelcontextprotocol/server-puppeteer\"]\n        },\n        \"google-maps\": {\n          \"command\": \"npx\",\n          \"args\": [\"-y\", \"@modelcontextprotocol/server-google-maps\"],\n          \"env\": {\n            \"GOOGLE_MAPS_API_KEY\": \"\u003cYOUR_API_KEY\u003e\"\n          }\n        }\n      },\n      \"maxRetries\": 2\n    }\n  }\n}\n```\n\n## 🔒 Security Considerations\n\nPlease be aware that MCP servers can execute arbitrary code, so only connect to servers you trust.\n\n## 🔍 Troubleshooting\n\nIf you encounter issues with the MCP plugin:\n\n1. Check that your MCP servers are correctly configured and running\n2. Ensure the commands are accessible in the ElizaOS environment\n3. Review the logs for connection errors\n4. Verify that the plugin is properly loaded in your character configuration\n\n## 👥 Contributing\n\nThanks for considering contributing to our project!\n\n### How to Contribute\n\n1. Fork the repository.\n2. Create a new branch: `git checkout -b feature-branch-name`.\n3. Make your changes.\n4. Commit your changes using conventional commits.\n5. Push to your fork and submit a pull request.\n\n### Commit Guidelines\n\nWe use [Conventional Commits](https://www.conventionalcommits.org/) for our commit messages:\n\n- `test`: 💍 Adding missing tests\n- `feat`: 🎸 A new feature\n- `fix`: 🐛 A bug fix\n- `chore`: 🤖 Build process or auxiliary tool changes\n- `docs`: ✏️ Documentation only changes\n- `refactor`: 💡 A code change that neither fixes a bug or adds a feature\n- `style`: 💄 Markup, white-space, formatting, missing semi-colons...\n\n## 📄 License\n\nThis plugin is released under the same license as ElizaOS.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffleek-platform%2Feliza-plugin-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffleek-platform%2Feliza-plugin-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffleek-platform%2Feliza-plugin-mcp/lists"}