MCP Template Node

MCP Template Node

一个用于在 Node.js/TypeScript 中创建模型上下文协议 (MCP) 服务器的模板仓库。此模板演示了如何使用 MCP 协议构建一个简单的笔记管理系统,该系统可以与 LLM 驱动的应用程序一起使用。

Rethunk-Tech

开发者工具
访问服务器

README

MCP 模板节点

一个用于在 Node.js/TypeScript 中创建模型上下文协议 (MCP) 服务器的模板仓库。此模板演示了一个使用 MCP 协议的简单笔记管理系统。

什么是 MCP?

模型上下文协议 (MCP) 是一种应用程序向大型语言模型 (LLM) 提供上下文信息的标准化方法。请访问 模型上下文协议网站 了解更多信息。

特性

  • 使用严格类型检查的 TypeScript 实现
  • 具有基本 CRUD 操作的简单笔记管理系统
  • 完整的 MCP 概念示例(工具、资源、提示)
  • 用于存储笔记的内存存储
  • 完善的错误处理和验证
  • 使用 Vitest 进行单元测试
  • VS Code 调试配置
  • 用于测试和构建的 GitHub Actions CI 工作流程

前提条件

  • Node.js 18 或更高版本
  • npm 或 yarn

项目结构

mcp-template-node/
├── build/                # 编译后的 JavaScript 文件
├── src/
│   ├── __tests__/        # 集成测试和测试实用程序
│   ├── errors/           # 自定义错误类
│   ├── tools/            # MCP 工具实现
│   │   └── __tests__/    # 工具单元测试
│   ├── types/            # TypeScript 类型定义
│   │   └── __tests__/    # 类型测试
│   └── index.ts          # 带有 MCP 示例的主服务器入口点
├── package.json          # 项目配置
├── tsconfig.json         # TypeScript 配置
├── eslint.config.mjs     # ESLint flat 配置
└── README.md             # 项目文档

快速开始

  1. 克隆仓库:

    git clone https://github.com/Rethunk-Tech/mcp-template-node.git
    cd mcp-template-node
    
  2. 安装依赖:

    yarn install
    
  3. 构建并运行服务器:

    yarn build
    yarn start
    

开发

  • 在 watch 模式下启动 TypeScript 编译器:yarn dev
  • 检查你的代码:yarn lint
  • 修复 lint 问题:yarn lint:fix
  • 运行测试:yarn test

测试

该项目包含全面的测试,以验证 MCP 服务器及其工具的功能。

运行测试

运行所有测试:

yarn test

在 watch 模式下运行测试(当文件更改时重新运行测试):

yarn test:watch

运行带有覆盖率的测试:

yarn test:coverage

测试结构

  • 单元测试: 位于它们测试的代码附近的 __tests__ 目录中
  • 集成测试: 位于 src/__tests__/
  • 测试实用程序: src/__tests__/test-utils.ts 中的通用测试助手

编写测试

该项目包含一个 MockMcpServer,用于在没有真实 MCP 依赖项的情况下测试工具:

import { MockMcpServer } from '../__tests__/test-utils.js';

describe('My Tool Tests', () => {
  let server: MockMcpServer;

  beforeEach(() => {
    server = new MockMcpServer();
    // 注册工具
    registerMyTools(server as any);
  });

  it('should perform some action', async () => {
    const result = await server.callTool('my_tool', { param: 'value' });
    expect(result.content[0].text).toContain('Expected text');
  });
});

使用 MCP Inspector 进行测试

对于独立测试,请使用 MCP Inspector 工具:

yarn inspector

这将打开一个交互式会话,您可以在其中测试您的 MCP 工具。

可用工具

创建笔记

创建一个包含标题和内容的新笔记。

列出笔记

列出所有可用的笔记,包括它们的 ID 和标题。

获取笔记

通过 ID 检索特定的笔记。

更新笔记

更新现有笔记的标题、内容或标签。

删除笔记

通过 ID 删除笔记。

扩展模板

要扩展此模板:

  1. src/types/ 中添加新类型
  2. src/tools/ 中实现新工具
  3. src/index.ts 中添加新资源
  4. 根据需要创建新的提示模板
  5. 为您的新功能添加测试

贡献

请参阅 CONTRIBUTING.md 了解如何为此项目做出贡献的指南。

许可证

MIT

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript