概述

本指南将带您快速构建一个简单的 MCP 服务器,让您了解 Model Context Protocol 的基本工作原理。
前提条件:
  • Python 3.8+ 或 Node.js 18+
  • 对 JSON-RPC 有基本了解(可选)

选择开发语言

MCP 支持多种编程语言。选择您熟悉的语言开始:

Python 实现

第 1 步:安装 SDK

pip install mcp

第 2 步:创建基本服务器

创建一个名为 mcp_server.py 的文件:
from mcp import McpServer, Resource, Tool
from mcp.types import TextContent

# 创建 MCP 服务器实例
server = McpServer("my-first-server")

@server.resource("greeting/{name}")
async def get_greeting(name: str) -> Resource:
    """返回个性化问候消息"""
    content = f"Hello, {name}! Welcome to MCP!"
    return Resource(
        uri=f"greeting/{name}",
        name=f"Greeting for {name}",
        mimeType="text/plain",
        text=content
    )

@server.tool("calculate")
async def calculate(expression: str) -> str:
    """计算简单的数学表达式"""
    try:
        result = eval(expression)  # 注意:生产环境请使用安全的计算方法
        return f"计算结果: {expression} = {result}"
    except Exception as e:
        return f"计算错误: {str(e)}"

if __name__ == "__main__":
    server.run()

第 3 步:运行服务器

python mcp_server.py

TypeScript 实现

第 1 步:安装 SDK

npm install @modelcontextprotocol/sdk
# 或者使用 yarn
yarn add @modelcontextprotocol/sdk

第 2 步:创建基本服务器

创建一个名为 server.ts 的文件:
import { McpServer } from '@modelcontextprotocol/sdk';

const server = new McpServer({
  name: 'my-first-server',
  version: '1.0.0'
});

// 注册资源
server.resource('greeting/{name}', async (name: string) => {
  return {
    uri: `greeting/${name}`,
    name: `Greeting for ${name}`,
    mimeType: 'text/plain',
    text: `Hello, ${name}! Welcome to MCP!`
  };
});

// 注册工具
server.tool('calculate', {
  description: '计算简单的数学表达式',
  parameters: {
    type: 'object',
    properties: {
      expression: {
        type: 'string',
        description: '要计算的数学表达式'
      }
    },
    required: ['expression']
  }
}, async (args) => {
  try {
    const result = eval(args.expression); // 注意:生产环境请使用安全的计算方法
    return `计算结果: ${args.expression} = ${result}`;
  } catch (error) {
    return `计算错误: ${error.message}`;
  }
});

// 启动服务器
server.start();

第 3 步:运行服务器

npx ts-node server.ts
# 或者先编译再运行
tsc server.ts && node server.js

测试您的服务器

使用 Claude Desktop 测试

  1. 打开 Claude Desktop 应用
  2. 在设置中配置您的 MCP 服务器:
{
  "mcpServers": {
    "my-first-server": {
      "command": "python",
      "args": ["path/to/your/mcp_server.py"]
    }
  }
}
  1. 重启 Claude Desktop
  2. 在对话中尝试:
    • @greeting/Alice - 获取问候资源
    • 要求计算 2 + 2 - 使用计算工具

使用命令行测试

您也可以使用 MCP Inspector 工具:
npx @modelcontextprotocol/inspector python mcp_server.py

下一步

恭喜!您已经创建了第一个 MCP 服务器。接下来可以:

故障排除