MCP服务器构建工具

基于FastMCP框架的轻量级MCP服务器,用于向AI代理和LLM暴露自定义工具。

  • by fredycampino
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 fredycampino/mcp-server

使用说明

构建MCP服务器的快速安全方法

该项目基于以下内容提供了一个最小的mcp服务器 FastMCP 您可以在本地运行的框架。 它旨在为任何希望向AI代理和LLM公开自定义工具的开发人员提供一个强大的起点。

入门指南

1.克隆存储库

git clone git@github.com:fredycampino/mcp-server.git
cd mcp-server

如果您使用HTTPS而不是SSH:

git clone https://github.com/fredycampino/mcp-server.git

2.启动虚拟环境

python3 -m venv .venv
source .venv/bin/activate   # On Linux/macOS
# Or, on Windows:
.venv\Scripts\activate

pip install -r requirements.txt

3.运行服务器

python local_mcp.py

这将在以下位置启动FastMCP服务器 http://127.0.0.1:7800/mcp 使用SSE传输。

与CLINE连接

要将此MCP服务器与CLINE一起使用,请执行以下步骤:

  1. 打开 渐变群.
  2. 点击 管理MCP服务器 位于聊天界面左下角的图标。
  3. 在设置文件(名为 cline_mcp_settings)内容如下:
{
  "mcpServers": {
    "local_mcp_server": {
      "disabled": false,
      "timeout": 60,
      "type": "sse",
      "url": "http://127.0.0.1:7800/mcp"
    }
  }
}

与LM Studio连接

将此MCP服务器连接到 LM工作室,请按照以下步骤操作:

  1. 打开 LM工作室.
  2. 打开 程序 标签,位于右上角。
  3. 点击 安装并打开 在...之下 主控程序 部分。
  4. 打开并修改 mcp.json 包含以下内容的配置文件:
{
  "mcpServers": {
    "local_mcp_server": {
      "url": "http://127.0.0.1:7800/mcp"
    }
  }
}

与游标连接

将此MCP服务器连接到 光标,请按照以下步骤操作:

  1. 打开 光标.
  2. 首选 设置.
  3. 点击 工具和集成.
  4. 单击新的MCP服务器并编辑 mcp.json 文件:
{
  "mcpServers": {
    "local_mcp_server": {
      "url": "http://127.0.0.1:7800/mcp"
    }
  }
}

与Codex CLI连接

Codex CLI从以下位置读取MCP服务器定义 ~/.codex/config.toml 在...之下 mcp_servers 桌子。

此项目可以在中运行 标准 模式,这是Codex对作为子流程启动的MCP服务器的期望。

将这样的内容添加到您的 ~/.codex/config.toml:

[mcp_servers.local-mcp]
command = "bash"
args = [
  "-lc",
  "/path/to/mcp-server/.venv/bin/python /path/to/mcp-server/local_mcp.py"
]
env = { MCP_TRANSPORT="stdio", MCP_ALLOWED_ROOTS="/path/to/checkhere,/tmp" }

笔记:

  • 使用 MCP_ALLOWED_ROOTS 以控制文件工具可以访问哪个文件系统根。
  • 替换 /path/to/mcp-server 和 /path/to/checkhere 使用您的本地绝对路径。
  • 如果你想要HTTP端点,请运行 python local_mcp.py (默认传输为 sse).

添加您自己的工具模块

使用自己的工具扩展服务器很简单。以下是如何添加一个名为的新模块 x_tools.py:

步骤1:创建工具文件

创建一个新文件 tools/x_tools.py.在其中定义你的功能。记住它们可以 async 或常规功能。

# in tools/x_tools.py

import asyncio

async def get_server_info():
    """A new tool to get server information."""
    # Simulate an async operation
    await asyncio.sleep(0.1) 
    return {"server_name": "MyMCP", "version": "1.0.0"}

def get_user_id():
    """A simple sync tool."""
    return {"user_id": "user-12345"}

步骤2:在中注册新工具 local_mcp.py

打开 local_mcp.py 并导入新功能。然后,将它们添加到 TOOLS 服务器启动时自动注册的列表。

# in local_mcp.py

from fastmcp import FastMCP

# ... other imports
from tools.x_tools import get_server_info, get_user_id # 👈 Import your new functions

# ...

# List of imported tool callables to expose
TOOLS = [
    internet_research,
    get_url,
    # ... other tools
    get_server_info, # 👈 Add your new function
    get_user_id      # 👈 Add your other new function
]