mabrow05/custom-mcp-server
If you are the rightful owner of custom-mcp-server 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.
Model Context Protocol Server for LLM Tool Integration. This server provides a standardized way to handle tool connections for LLM-powered applications.
The Model Context Protocol (MCP) Server is designed to facilitate the integration of tools with applications powered by Large Language Models (LLMs). It provides a standardized protocol for managing tool connections, ensuring seamless communication and execution of tasks. The server supports both local and Docker-based setups, making it versatile for different development environments. It includes features for authentication, tool registration, and execution, with a focus on security and scalability. The server is built with Python and can be easily extended to include custom tools, making it a flexible solution for developers looking to enhance their LLM applications with additional functionalities.
Features
- Standardized Protocol: Provides a consistent way to manage tool connections for LLM applications.
- Authentication: Uses JWT tokens for secure access to API endpoints.
- Tool Management: Allows for listing, executing, and registering new tools.
- Flexible Setup: Supports both local and Docker-based development environments.
- Security Focus: Includes recommendations for secure deployment, such as strong secret keys and HTTPS usage.
Usages
local development setup
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate uv pip install -e . python -m mcp_server.server
docker setup
docker-compose up --build
get token
curl -X POST http://localhost:8000/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "username=testuser&password=testpass"
list available tools
curl http://localhost:8000/list_tools \ -H "Authorization: Bearer YOUR_TOKEN_HERE"
execute tool
curl -X POST http://localhost:8000/execute_tool \ -H "Authorization: Bearer YOUR_TOKEN_HERE" \ -H "Content-Type: application/json" \ -d '{ "tool_name": "web_search", "parameters": { "query": "example search query", "num_results": 3 } }'
register new tool
curl -X POST http://localhost:8000/register_tool \ -H "Authorization: Bearer YOUR_TOKEN_HERE" \ -H "Content-Type: application/json" \ -d '{ "name": "custom_tool", "description": "A custom tool example", "type": "function", "parameters": [ { "name": "param1", "type": "string", "description": "First parameter", "required": true }, { "name": "param2", "type": "integer", "description": "Second parameter", "required": false, "default": 0 } ] }'