nimishgautam/basic-mcp
If you are the rightful owner of basic-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The basic MCP server is designed for experimentation and learning, providing a simple and human-readable implementation using FastMCP.
basic mcp
The goal of this is just to write a simple MCP server with a handful of tools that can be plugged in to a local LLM.
It's just for experimentation but also straightforward enough to be human-readable (for those trying to learn)
Learning
In src/basic_mcp/main.py you see how straightforward it is to make an MCP server with FastMCP. It's just calling something, and the pandoc comments are what are given to the LLM.
Note that MCP servers are (in some way) just polite suggestions of text to LLMs, so without the comments here it actually won't work (or will work many orders of magnitude worse).
In src/basic_mcp/tools/web_tools.py there's a simple 'fetch article' tool. This is just so I have a placeholder/structure for extra tools as they're needed
install
As with everything, you should set this up in a virtualenv.
Then it's just a pip install -e .
running
cd src/basic_mcp && python main.py
uvx
This can be called with uvx --from /path/to/basic-mcp/ basic-mcp if it needs to be launched that way (for example with Jan)
Also note/remember that if it's in a virtualenv, uvx should be called with the full path name from within the virtualenv's bin.
Output
Note that the output is stdio and not a web server. This can be changed simply enough inside the main function and removing the transport variable parameter. Then it will default to being a web server