{"id":27464249,"url":"https://github.com/metatool-ai/metatool-app","last_synced_at":"2025-04-15T23:01:13.080Z","repository":{"id":273695381,"uuid":"920576726","full_name":"metatool-ai/metatool-app","owner":"metatool-ai","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-09T05:26:36.000Z","size":8799,"stargazers_count":153,"open_issues_count":3,"forks_count":22,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-12T08:14:25.881Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metatool-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-01-22T11:58:52.000Z","updated_at":"2025-04-12T06:17:43.000Z","dependencies_parsed_at":"2025-03-04T07:19:20.937Z","dependency_job_id":"64f21385-bcd8-47dd-97fd-8ede01064894","html_url":"https://github.com/metatool-ai/metatool-app","commit_stats":null,"previous_names":["metatool-ai/metatool-app"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metatool-ai%2Fmetatool-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metatool-ai%2Fmetatool-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metatool-ai%2Fmetatool-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metatool-ai%2Fmetatool-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metatool-ai","download_url":"https://codeload.github.com/metatool-ai/metatool-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249167446,"owners_count":21223506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-04-15T23:00:44.571Z","updated_at":"2025-04-15T23:01:12.970Z","avatar_url":"https://github.com/metatool-ai.png","language":"TypeScript","funding_links":[],"categories":["CI/CD \u0026 DevOps Pipelines","MCP Middleware \u0026 Orchestration","\u003cimg src=\"./assets/satellite.svg\" width=\"16\" height=\"16\" style=\"vertical-align: middle;\"\u003e Satellites","サーバー実装","MCP 服务器精选列表","📦 Other","MCP Servers","MCP Clients","📂 카테고리","MCP Frameworks and libraries","Server Implementations"],"sub_categories":["🔗 Aggregators","🔗 \u003ca name=\"aggregators\"\u003e\u003c/a\u003eアグリゲーター","🛠️ 其他实用工具与集成","🔗 Aggregators \u0026 Meta Servers","Desktop Applications","TypeScript","🔗 \u003ca name=\"aggregators\"\u003e\u003c/a\u003eAggregators"],"readme":"# MetaMCP (Unified middleware MCP to manage all your MCPs)\n\n[![](https://dcbadge.limes.pink/api/server/mNsyat7mFX)](https://discord.gg/mNsyat7mFX)\n\nhttps://metamcp.com (Cloud version online now and available for free)\n\nMetaMCP is \"the One\" middleware MCP to manage all your MCPs. It uses a GUI fullstack app (this repo) and a local MCP proxy to achieve this. (see our latest npm repo [mcp-server-metamcp](https://github.com/metatool-ai/mcp-server-metamcp))\n\nA few feature highlights:\n\n- GUI app to manage multiple MCP server integrations all together.\n- Support ANY MCP clients (e.g., Claude Desktop, Cursor, etc.) because MetaMCP is a MCP server.\n- Support prompts, resources, tools under MCP.\n- Support multi-workspace: e.g., activate a workspace of DB1 or switch to DB2 in another workspace, preventing polluting context of DB1 to your MCP Client.\n- Tool level toggle on/off\n\nThe app is also self hostable, free and open source. There is also a cloud version. You can try how this app works using cloud version but I actually encourage you to self host if you are familiar with docker: it will provide unlimited access with lower latency, full private operations on your end.\n\nCheck out demo videos at https://metamcp.com/. Here is an overview screenshot.\n\n![MetaMCP Overview Screenshot](screenshot.png)\n![MetaMCP Tool Management Screenshot](tool_management.png)\n\n## Verified Platform\n\n- [x] Windows (after MCP official typescript SDK 1.8.0, which we updated accordingly, it works) https://github.com/metatool-ai/metatool-app/issues/15\n- [x] Mac\n- [x] Linux\n\n## Installation\n\nTo get instantly started with cloud version visit https://metamcp.com/.\nTo get started with this self hostable version of MetaMCP App, the eastiest way is to clone the repository and use Docker Compose to run it.\n\n```bash\ngit clone https://github.com/metatool-ai/metatool-app.git\ncd metatool-app\ncp example.env .env\ndocker compose up --build -d\n```\n\nThen open http://localhost:12005 in your browser to open MetaMCP App.\n\nIt is recommended to have npx (node.js based mcp) and uvx (python based mcp) installed globally.\nTo install uv check: https://docs.astral.sh/uv/getting-started/installation/\n\nYou also need a MCP Client to connect to `@metamcp/mcp-server-metamcp`. For example if you are using [Claude Desktop](https://modelcontextprotocol.io/quickstart/user), the config json may look like this:\n\n```json\n{\n  \"mcpServers\": {\n    \"MetaMCP\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@metamcp/mcp-server-metamcp@latest\"],\n      \"env\": {\n        \"METAMCP_API_KEY\": \"\u003cyour api key\u003e\",\n        \"METAMCP_API_BASE_URL\": \"http://localhost:12005\"\n      }\n    }\n  }\n}\n```\n\nFor Cursor, env vars aren't easy to get typed in so you may use args instead\n\n```bash\nnpx -y @metamcp/mcp-server-metamcp@latest --metamcp-api-key \u003cyour-api-key\u003e --metamcp-api-base-url \u003cbase-url\u003e\n```\n\nYou can get the API key from the MetaMCP App's API Keys page (self hosted available).\n\n## Architecture Overview\n\nNote that prompts and resources are also covered similar to tools.\n\n```mermaid\nsequenceDiagram\n    participant MCPClient as MCP Client (e.g., Claude Desktop)\n    participant MetaMCPMCP as MetaMCP MCP Server\n    participant MetaMCPApp as MetaMCP App\n    participant MCPServers as Installed MCP Servers in MetaMCP App\n\n    MCPClient -\u003e\u003e MetaMCPMCP: Request list tools\n    MetaMCPMCP -\u003e\u003e MetaMCPApp: Get tools configuration \u0026 status\n    MetaMCPApp -\u003e\u003e MetaMCPMCP: Return tools configuration \u0026 status\n\n    loop For each listed MCP Server\n        MetaMCPMCP -\u003e\u003e MCPServers: Request list_tools\n        MCPServers -\u003e\u003e MetaMCPMCP: Return list of tools\n    end\n\n    MetaMCPMCP -\u003e\u003e MetaMCPMCP: Aggregate tool lists\n    MetaMCPMCP -\u003e\u003e MCPClient: Return aggregated list of tools\n\n    MCPClient -\u003e\u003e MetaMCPMCP: Call tool\n    MetaMCPMCP -\u003e\u003e MCPServers: call_tool to target MCP Server\n    MCPServers -\u003e\u003e MetaMCPMCP: Return tool response\n    MetaMCPMCP -\u003e\u003e MCPClient: Return tool response\n```\n\n## License\n\nGNU AGPL v3\n\n## Credits\n\n- (Deprecated) Demo video uses MCP Client [5ire](https://5ire.app/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetatool-ai%2Fmetatool-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetatool-ai%2Fmetatool-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetatool-ai%2Fmetatool-app/lists"}