Swiss Army Knife MCP Server


Swiss-knife MCP server
I have been working with MCP servers for a while. Most of the time, I use MCP servers created by someone else. But I have created some of them by myself, e.g., Sitecore MCP server.
Recently, I saw an announcement on GitHub that they introduced the GitHub MCP Registry. And I decided to make an experiment. What if I allow AI agents to look for MCP servers in the registry, install and use them?
Implementation
Implementation was straightforward. There were only three interesting places that I wanted to stop: indexing, the catalogue to use, and running tools as a proxy.
Index
The current MCP Registry API is poor. You can authenticate, check health, publish, and get MCP servers. That is it. Nothing else for now. That is why I implemented the search by myself. I get all the MCP servers from the registry and index them using flexsearch. It is not the best and is not a future-proof full-text search library. But it is portable and quite simple for this experiment.
Catalogue
I think that smither.ai, mcpmarket.com, mcpserver.org, and others contain many more MCP servers to browse. But what will be the future for them? I don’t think that one of them will become the standard for the industry. The GitHub MCP registry has this opportunity, as it is backed by a large company. That is why I selected not the biggest one, but the one that promises more.
Tools configuration
I decided to stick with the existing MCP server configurations. You have a command to run, arguments, and environment variables. Or URL if it is a streamable HTTP transport. It is possible to start each server separately and run it by myself. But that was already done in @langchain/mcp-adapters. All that I need is to get the tools configuration and re-register them.
Usage
You can configure this MCP server as stdio
server to any client that you want.
{
"mcpServers": {
"Universal MCP Server": {
"command": "npx",
"args": ["-y", "@antonytm/mcp-all@latest"],
"transport": "stdio",
"environmentVariables": [
{
"name": "TRANSPORT",
"value": "stdio"
}
]
}
}
}
It is also possible to run it using streamable HTTP transport and inside a Docker container if needed.
Now, we can ask our AI agent about MCP.
Show MCP configuration
Let’s look for the MCP server to access files.
Find MCP server that allows access to filesystem
Let’s configure the MCP server!
Configure the @agent-infra/mcp-server-filesystem MCP server to access current dir
Here, I need to refresh it manually. It could also be automated as an MCP tool. But with the current MCP protocol, there is no way to do it in the same way for all possible clients.
And now, our MCP server has 15 tools!
And now I can access files using new tools!
You may say that Cursor can access files without it. And you will be right. The filesystem
The MCP server was selected only as an example that has a clear purpose. It can be anything: browser, database, API, 3rd party services, … Anything that has an MCP server to access it.
Conclusion
Don’t take this MCP server too seriously. It is better to control the MCP servers yourself. This attempt is a try to imagine the future of AI Agents and the MCP servers. At some point, AI agents will decide by themselves if they need some tools, configure them, and use them. And looking at how easy it could be done, it will happen in the near future. And even more: they will write MCP servers for themself. The only concern is the security…