项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器示例,演示了如何使用 MCP 协议构建应用后端。该服务器提供对学生数据的管理功能,允许 MCP 客户端通过标准化的方式访问和操作学生信息。
主要功能点
- 资源 (Resources):
- 'get_all_students': 提供获取所有学生列表的资源。
- 工具 (Tools):
- 'search_student': 允许客户端根据姓名或年龄查询学生信息。
- 'add_student': 允许客户端添加新的学生信息。
- 数据存储:
- 使用 PostgreSQL 数据库存储学生数据。
- MCP 协议实现:
- 基于 '@modelcontextprotocol/sdk/server' 库构建,实现了 MCP 服务器的核心功能。
- 使用 Stdio 传输协议与客户端通信。
安装步骤
-
安装 Node.js: 请确保您的系统已安装 Node.js 运行环境。
-
安装 Docker 并启动 PostgreSQL: 按照仓库 README.md 文件中的指示,使用 Docker 启动 PostgreSQL 数据库。
docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=admin postgres -
建立 Server: 克隆仓库到本地,并进入项目目录,执行以下命令安装依赖并构建项目。
npm install npm run build -
配置 MCP 服务器: MCP 客户端(例如 Claude 桌面应用)需要配置 MCP 服务器的启动信息。以 Claude 桌面应用为例,您需要创建或编辑 'claude_desktop_config.json' 文件。
- macOS 系统,该文件通常位于 '~/Library/Application\ Support/Claude/claude_desktop_config.json'。
- 创建或编辑 'claude_desktop_config.json' 文件,并添加以下配置信息。请将 '/absolute/path/to/your/MCP-Server/build/index.js' 替换为 'build/index.js' 文件的绝对路径。 您可以通过在项目根目录下执行 'pwd' 命令获取当前目录的绝对路径,然后拼接上 'build/index.js'。
{ "mcpServers": { "mcp-server": { "command": "node", "args": ["/absolute/path/to/your/MCP-Server/build/index.js"] } } } -
启动 MCP 服务器: 配置完成后,当 MCP 客户端启动时,会自动尝试连接到配置的 MCP 服务器。您可以通过运行 'npm run inspector' 命令并访问 'http://localhost:5173' 来测试服务器连接和功能。
基本使用方法
- 启动 MCP 服务器: 按照上述安装步骤配置并启动 MCP 服务器。
- 连接 MCP 客户端: 打开 MCP 客户端(例如 Claude 桌面应用或 MCP Inspector)。客户端应能自动连接到配置的 MCP 服务器。
- 使用资源和工具: 在 MCP 客户端中,您可以:
- 访问 'get_all_students' 资源以获取学生列表。
- 调用 'search_student' 工具,并提供学生姓名或年龄作为参数,查询学生信息。
- 调用 'add_student' 工具,并提供学生姓名和年龄作为参数,添加新的学生信息。 具体操作方式取决于您使用的 MCP 客户端的功能和界面。
信息
分类
数据库与文件