Token导航 LogoToken导航TokenDH.com
MCP Starter Kit Node logo
开发工具未说明官方级别未说明来源级核验

MCP Starter Kit Node

MCP Server

MCP Server example for up and running in Node

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
TypeScript开发TypeScript资源管理AI交互

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

scriptstar

提供方

scriptstar

最后核验

2026/5/18 04:56

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP快速启动服务器

这个项目是一个使用TypeScript构建的模型上下文协议(MCP)服务器的简单快速入门示例 @modelcontextprotocol/sdk。它演示了如何定义基本工具、资源和提示。

特性

  • 工具: add:将两个数字相加。

- 参数: a (数字), b (编号) - 返回值:字符串形式的总和。

  • 工具: fetch-chuck-jokes:偶然听到查克·诺里斯的笑话。

- 参数:无 - 返回:Chuck Norris的笑话作为字符串。

  • 资源: greeting:提供个性化问候。

- URI方案: greeting://{name} - 例子: greeting://World 将为“世界”献上问候。

  • 提示: getGreetingAndJoke:指示AI客户端按名字问候用户,然后告诉他们一个Chuck Norris的笑话。

- 参数: name (字符串) - 示例:调用 name: "Narendra" 将为AI设置一个对话,以问候Narendra并讲一个笑话。

目录结构

quick-start/
├── build/              # Compiled JavaScript output
├── src/                # TypeScript source files
│   ├── index.ts        # Main server setup and entry point
│   ├── tools/
│   │   └── index.ts    # Tool definitions
│   ├── resources/
│   │   └── index.ts    # Resource definitions
│   └── prompts/
│       └── index.ts    # Prompt definitions
├── .gitignore
├── package-lock.json
├── package.json
├── tsconfig.json
└── README.md           # This file

先决条件

  • (建议使用v18.x或更高版本)
  • (附带Node.js)

设置和安装

  1. 克隆存储库(如果您还没有):
   git clone https://github.com/scriptstar/mcp-starter-kit-node.git
   cd mcp-starter-kit-node
  1. 安装依赖项:
   npm install

构建服务器

要将TypeScript代码编译为JavaScript,请运行:

npm run build

此命令执行 tsc (TypeScript编译器)根据 tsconfig.json 配置并将输出放置在 build/ 目录。它还使主构建文件可执行。

运行服务器

构建完成后,您可以使用以下命令启动MCP服务器:

node build/index.js

或者,对于类似生产的环境,您可以使用start脚本:

npm start

服务器将启动并监听标准输入(stdin)上的消息,并向标准输出(stdout)发送响应,因为它使用 StdioServerTransport.

开发工作流程

为了获得更高效的开发体验,您可以使用 dev 脚本:

npm run dev

此命令使用 concurrently 运行两个进程:

  1. tsc -w:监视TypeScript文件的更改并自动重新编译。
  2. nodemon build/index.js:观察变化 build 目录(其中 tsc 输出JavaScript)并自动重启Node.js服务器。

这在开发过程中提供了一种类似实时重新加载的体验。

代码检查

该项目使用ESLint和TypeScript支持来维护代码质量和一致性。

  • 要检查棉绒错误,请执行以下操作:
  npm run lint
  • 要自动修复可修复的棉绒错误,请执行以下操作:
  npm run lint:fix

建议在提交代码之前运行linter。

运作原理

此服务器实现模型上下文协议。

  • src/index.ts:初始化 McpServer 实例,从各自的模块导入工具、资源和提示注册函数,调用这些函数向服务器注册,然后连接 StdioServerTransport 处理沟通。
  • src/tools/index.ts:出口a registerTools 功能。

- add:需要两个数字 ab 并返回它们的总和。 - fetch-chuck-jokes:向以下对象发出HTTP GET请求 https://api.chucknorris.io/jokes/random 并返回笑话。

  • src/resources/index.ts:出口a registerResources 功能。

- greeting:定义资源模板 greeting://{name}当请求此URI时,它会返回一条个性化的问候消息。

  • src/prompts/index.ts:出口a registerPrompts 功能。

- getGreetingAndJoke:定义一个需要 name 争论。它构建了一组初始消息来指导AI客户端。第一条消息(角色:助手)设置上下文,第二条消息(职位:用户)使用提供的 name.

与服务器交互(概念)

此MCP服务器设计为由MCP客户端(例如,AI助手、开发工具)控制。客户端通过向其stdin发送JSON-RPC消息并从其stdout接收响应来与服务器通信。

以下是客户端如何与定义的功能交互:

  1. 呼叫 add 工具:

客户端可以发送JSON-RPC请求,如下所示:

   {
     "jsonrpc": "2.0",
     "method": "callTool",
     "params": { "name": "add", "args": { "a": 5, "b": 3 } },
     "id": "request1"
   }

服务器将返回结果:

   {
     "jsonrpc": "2.0",
     "result": { "content": [{ "type": "text", "text": "8" }] },
     "id": "request1"
   }
  1. 访问 greeting 资源:

客户端可以请求读取资源URI greeting://Alice:

   {
     "jsonrpc": "2.0",
     "method": "readResource",
     "params": { "uri": "greeting://Alice" },
     "id": "request2"
   }

服务器将响应:

   {
     "jsonrpc": "2.0",
     "result": {
       "contents": [{ "uri": "greeting://Alice", "text": "Hello, Alice!" }]
     },
     "id": "request2"
   }
  1. 使用 getGreetingAndJoke 提示:

想要为“Bob”启动此引导任务的客户端将发送:

   {
     "jsonrpc": "2.0",
     "method": "getPrompt",
     "params": {
       "uri": "prompt://getGreetingAndJoke",
       "args": { "name": "Bob" }
     },
     "id": "request3"
   }

服务器将以初始消息进行响应:

   {
     "jsonrpc": "2.0",
     "result": {
       "messages": [
         {
           "role": "assistant",
           "content": {
             "type": "text",
             "text": "You are a friendly assistant. Your task is to greet the user by their name and then tell them a Chuck Norris joke. You should use the available tools and resources to accomplish this. I will now wait for your instruction to proceed with greeting and joke telling for the specified user."
           }
         },
         {
           "role": "user",
           "content": {
             "type": "text",
             "text": "Please greet Bob and then tell a Chuck Norris joke."
           }
         }
       ]
     },
     "id": "request3"
   }

然后,AI客户端将处理这些消息,并随后决定调用 greeting 资源(代表“Bob”)和 fetch-chuck-jokes 工具,使用单独 readResourcecallTool 请求:

进一步发展

  • 添加具有各种输入/输出类型的更复杂的工具。
  • 实现与本地文件或数据库交互的资源。
  • 为多回合对话创建更复杂的提示。
  • 如果需要,探索其他传输层(例如HTTP)。
  • 添加全面的错误处理和日志记录。

这个README应该能很好地概述你的项目!

目录标签

目录标签

TypeScript开发TypeScript资源管理AI交互developer-toolsmcpmcp-servernodejs本地部署模型上下文协议工具定义

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP