使用说明
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
