模型上下文协议服务器模板

一个用于构建基于工具的自动化API的健壮、可扩展的模型上下文协议(MCP)服务器模板,支持为LLM代理和自动化工作流添加、暴露和记录任何工具集。

  • by vimaleshbe
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 vimaleshbe/custom-mcp

使用说明

通用mcp:模型上下文协议服务器模板

一个健壮的、可扩展的模型上下文协议(MCP)服务器模板,用于构建基于工具的自动化API。轻松添加、公开和记录LLM代理和自动化工作流的任何工具集(文件、数据库、代码生成器等)。

特性

  • 轻松添加和公开任何工具(文件、数据库、代码生成器等)作为MCP工具
  • LLM代理和自动化的RESTful工具接口
  • OpenAPI模式可在 /mcp/openapi.json
  • 使用Python、FastMCP、Pydantic和Uvicorn构建

项目结构

generic-mcp/
├── mcp_server.py         # Main MCP server entrypoint (rename as needed)
├── README.md             # This file
├── pyproject.toml        # Python project config
└── ...

设置

  1. 安装依赖项:

    uv pip install -r requirements.txt
    
  2. 运行服务器:

    uv run python file_mcp.py --root <workspace-root>
    # Example:
    uv run python file_mcp.py --root C:\Users\yourname\ai-play-ground
    

用法

  • 服务器通过HTTP在以下位置公开您的自定义工具 http://localhost:8123/mcp.
  • OpenAPI架构: http://localhost:8123/mcp/openapi.json
  • 使用MCP兼容的代理或客户端调用您定义的工具。

工具API

使用定义自己的工具 @mcp.tool() 主服务器文件中的装饰器。每个工具都将通过HTTP自动公开,并记录在OpenAPI模式中。

例子:

@mcp.tool()
def my_tool(param1: str, param2: int) -> dict:
	"""Describe what this tool does."""
	# ...your logic...
	return {"result": ...}

有关所有可用工具及其参数的详细信息,请参阅OpenAPI模式。

最佳实践

  • 将所有工具逻辑保存在主服务器文件中,或根据需要按功能进行组织。
  • 使用 @mcp.tool() 为您要公开的每个工具提供装饰器。
  • 使用内置记录器记录重要事件和错误。

许可证

麻省理工学院