Skip to main content

Simple MCP Server Collection, Packaged

Project description

mcp_servers

A collection of MCP servers

Disclaimer

This project is created for personal use and does not guarantee stable behavior. It is made public solely as a reference for other programmers. The project is highly unstable, premature, and may produce undesired outcomes, so use it at your own risk.

Development Setup

git clone git@github.com:assagman/mcp_servers.git

cd mcp_servers

uv venv --python 3.12 && source .venv/bin/activate

uv sync --extra dev

Examples

All LLM models are used from openrouter.ai, so on OPENROUTER_API_KEY env var is mandatory for this project to interact with a LLM model.

cp ./examples/.env.example ./examples/.env then set your OPENROUTER_API_KEY in ./examples/.env. In these examples google/gemini-2.5-flash-preview is picked as the LLM model since it's the best fit model for this workflow I experienced. You need to buy credits on https://openrouter.ai/settings/credits to experiment. Even some free alternatives can work sometimes, but either they do not produce consistent outputs or there are some problems with the hosting server like rate limits or unavailability. Make sure you select models with tools usage. Generally Google and OpenAI models, even with smaller/cheaper ones, works well.

Example usage: as a package in client code

python examples/run_filesystem_agent.py

without making any changes, this command should be executed successfully as is, and it'll operate on a temporary directory.

Example usage: as a separate, dedicated MCP server

mcpserver start --server filesystem --port 8765 --allowed-dir $(pwd) --detach

Above command should start MCP server for filesystem in the background process. ps aux | rg mcpserver is expected to show this related process.

python examples/run_filesystem_agent_2.py

after some chat with agent, please run below to stop the MCP server:

mcpserver stop --server filesystem

This specific example uses CLI app utility to start/stop MCP seperately from the client code (different from the first example).

Others

brave_search

Create .env file in the top-level project directory, set BRAVE_API_KEY in it. Then excecute:

mcpserver start --server brave_search --port 8766 --detach

This will start the MCP Server. Let's test it with example agent:

python examples/run_brave_search_agent.py

This will allow user to chat with agent, using MCP server for Brave Search. After some chat, you can stop it via:

mcpserver stop --server brave_search

searxng_search

This is very similar to brave_search, but since public searxng instances may not meet users requirements in terms of configurations/settings like rate limiting, formats etc., it's better to run a local searxng instance and make this MCP server use it.

To do that, podman or docker can be used to run a official searxng container. This will require a minimal searxng settings setup. To manage all these minimal steps more easily, mcpserver CLI tool provide commands to start/stop searxng container:

mcpserver run_external_container --container searxng

This will require user to have SEARXNG_BASE_URL set as environment variable. You can simply set this variable in ~/.mcp_servers/.env file and tool will automatically pick it up, without any sourcing process performed.

Confirm that the container is up-and-running (podman ps or docker ps). Then, start searxng_search MCP server:

mcpserver start --server searxng_search --port 8767

Now, this MCP server can be accessible by agents. Here is an example usage:

python examples/run_searxng_search_agent.py

after some experimentation, you can shutdown both MCP Server for searxng and the external container via:

mcpserver stop --server searxng_search for MCP server

mcpserver stop_external_container --container searxng for external searxng container

Testing specs

  • macOS - arm64
  • python 3.12

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_servers-0.1.2.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_servers-0.1.2-py3-none-any.whl (47.9 kB view details)

Uploaded Python 3

File details

Details for the file mcp_servers-0.1.2.tar.gz.

File metadata

  • Download URL: mcp_servers-0.1.2.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for mcp_servers-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ad59b65f29684768db00dc840644e2107fa214783515657fa5042d6b9ae98db1
MD5 48b83cd3a184d11460c6d8d8a010ad59
BLAKE2b-256 19a3d784c8c657361537f72edf0104a8d83a3a7ec06ed63ae6bfdb3addd910f5

See more details on using hashes here.

File details

Details for the file mcp_servers-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mcp_servers-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 47.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for mcp_servers-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 db96a9ddc16a316fb4537b521300d7e2b5734f5c7fbb5e8eea2b6b7bd0dfdca8
MD5 ce7012802d8bca30bd4fc49357cda6cc
BLAKE2b-256 a31cf3fc7e8f15ae18e3b0d481e19431b1db834b9652e046d6226d86afb805d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page