MCP协议服务器

一个从头开始实现的MCP协议服务器,提供文件读写、目录操作等功能,适用于AI模型与工具间的通信。

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

使用说明

MCP服务器-从头开始

开发了一种模型上下文协议(MCP)服务器实现 从零开始当我说scratch时,我的意思是JSON-RPC、STDIO和服务器到客户端的连接都是手工编写的!这不是一个使用 @mcp.tool 你在网上看到的功能。

这个项目是为了帮助我理解MCP协议而创建的,并且是按照 官方MCP服务器规范.

项目目标

  • 简单架构:按照官方MCP规范,从零开始进行清洁实施
  • 可扩展工具:易于添加新工具和功能
  • 专注学习:用于理解MCP内部的文档化代码

建筑

┌─────────────────┐    JSON-RPC     ┌─────────────────┐
│   AI Model      │ ◄──────────────► │   MCP Server    │
│ (Any Provider)  │     (stdio)     │   (Python)      │
└─────────────────┘                 └─────────────────┘
                                            │
                                            ▼
                                    ┌─────────────────┐
                                    │     Tools       │
                                    │ • File Reader   │
                                    │ • File Writer   │
                                    │ • Directory Ops │
                                    └─────────────────┘

快速开始

运行MCP服务器

# Create virtual environment
python3 -m venv mcp-venv

# Activate virtual environment
source mcp-venv/bin/activate  # On macOS/Linux
# or
mcp-venv\Scripts\activate     # On Windows
# Install required packages
pip install -r requirements.txt
# Test server starts correctly
python3 src/mcp_server.py

与模型集成

Claude桌面配置

对于Claude Desktop,创建或编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
    将以下配置添加到 claude_desktop_config.json:
{
  "mcpServers": {
    "barebones-server": {
      "command": "{project_path}/mcp-venv/bin/python",
      "args": ["{project_path}/src/mcp_server.py"],
      "env": {
        "PYTHONPATH": "{project_path}/src"
      }
    }
  }
}
演示:

https://github.com/user-attachments/assets/d7e21bb3-bc6d-4b9b-8b7d-ed90f7f004fd

可用工具

当前工具

  • greeting:返回问候信息
  • read_file:读取允许路径内的文件内容
  • write_file:将内容写入文件
  • list_directory:列出目录中的文件和文件夹
  • create_directory:创建新目录

测试

使用MCP检查器运行

# Install MCP Inspector globally
npm install -g @modelcontextprotocol/inspector
# Run the MCP server with Inspector
npx @modelcontextprotocol/inspector \
  /{path_to_MCP_projecct}/mcp-venv/bin/python \
  /{path_to_MCP_projecct}/src/mcp_server.py

单元测试

python -m __tests__.main