MCP服务器

一个基于Node.js的模型上下文协议(MCP)服务器,支持用户拥有的产品、API密钥认证和完整的CRUD操作,并通过Docker容器化以便于测试和部署。

  • by Ethern-Myth
  • 本地部署
  • 更新于
在 GitHub 查看 Ethern-Myth/mcp-server-demo

使用说明

MCP服务器

演示如何创建 模型上下文协议(MCP)服务器 Node.js支持用户拥有的产品、API密钥认证和完整的CRUD操作,所有这些都使用Docker容器化,以方便测试和部署。

🚀 概述

该项目展示了一个现实的MCP服务器设置:

  • 用户可以注册/登录以获取API密钥。
  • 产品与用户相关联,并通过完整的CRUD操作进行管理。
  • MCP服务器通过MCP协议公开工具,允许客户端 LM 工作室 或自定义MCP客户端进行交互。
  • Docker化,用于快速部署和与其他服务(如PostgreSQL)集成。
  • 添加到kubernetes中,以便更轻松地管理基础设施。

它被设计为构建微服务风格MCP服务器的学习工具。


🛠️ 特性

  • 用户认证:注册并登录以接收API密钥。
  • API密钥保护:所有产品操作都需要有效的API密钥。
  • CRUD工具:
    • list_products --列出所有用户产品
    • list_product --获取单一产品
    • create_product --创建产品
    • update_product --更新产品
    • delete_product --删除产品
  • 数据库集成:PostgreSQL通过Sequelize ORM。
  • 码头化MCP服务器:易于本地和容器化部署。
  • Kubernetes:部署在kubernetes上并扩展
  • 测试:CRUD工具测试的MCP客户端脚本示例。

🏗️ 技术栈

  • Node.js (v24+)
  • 对ORM进行序列化 对于PostgreSQL
  • PostgreSQL 用于持久存储
  • 黄道带 用于输入/输出验证
  • @模型上下文协议/sdk 用于MCP服务器/客户端
  • 码头工人 用于集装箱化部署
  • Kubernetes 用于基础设施扩展

🏃 入门(本地)

源代码即将发布。

📂 源代码

src/mcpServer.js --带工具注册的MCP服务器

src/server.js --可选HTTP服务器包装器

src/services/productService.js --基于序列化的CRUD

src/testMcpClient.js --MCP客户端测试脚本

(源代码文件即将提供-见下面的结构)

结构

这是项目的结构:

作者

以太神话

许可证

麻省理工学院