Token导航 LogoToken导航TokenDH.com
Create MCP Server App Bun logo
AI代理未说明官方级别未说明来源级核验

Create MCP Server App Bun

MCP Server

MCP服务器是一个基于Bun的工具,用于创建和管理MCP项目,支持与Claude Desktop集成,提供标准化的项目结构和工具开发框架。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

katjes733

提供方

katjes733

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

MCP服务器

MCP服务器提供使用Bun设置自己的MCP服务器项目的功能。

- 背景 - 先决条件 - 安装项目 - 构建 - 设置克劳德桌面 - 用法 - 发展 - 新工具 - 测试覆盖率 - 先决条件(开发) - 运行测试覆盖率

背景

该项目利用模型上下文协议(MCP)来促进标准化工具(MCP服务器)在预定义的位置创建示例MCP项目。

在这个例子中,我们与Claude Desktop集成以运行MCP服务器,同时充当MCP客户端与MCP服务器交互。

生成的示例项目遵循与此项目相同的结构,并使用示例工具计算两个数值的总和。

选择使用Bun而不是NodeJS也是有意展示Bun在成为NodeJS的真正替代品方面取得了重大进展。它速度极快,易于设置,并具有许多开箱即用的功能。它还可以与现有的工具链(如ESLint等)很好地集成。

先决条件

  1. 包子 必须安装。
  2. 克劳德桌面 应该安装。

安装项目

  1. 克隆存储库。
  1. 运行:
   bun install
  1. 创建一个 .env 根目录下的文件基于 /env/sample.env。根据需要和描述提供值。

注: 如果您希望通过以下方式在开发模式下运行服务器,这一点最为重要 bun run start.

  1. _(可选)_ 运行以下命令以验证项目的完整性:
   bun run verify

构建

  1. 运行:
   bun run build

这将捆绑条目 build/main.js,然后可以食用。

设置克劳德桌面

本节受此总则的影响 指南 详细说明此用例。

  1. 启动克劳德桌面并打开设置

image

  1. 点击 Developer 在“设置”窗格的左侧栏中,然后单击 Edit Config:

image

  1. 编辑文件 claude_desktop_config.json 并添加以下内容:
   {
     "mcpServers": {
       "create-mcp-app-bun": {
         "command": "bun",
         "args": ["run", "
/build/main.js"]
       }
     }
   }

将\ 替换为项目的路径;例如。: /Users/username/Documents/projects/create-mcp-server-app-bun

  1. 重新启动克劳德桌面;这很重要,否则Claude Desktop将不会将更改应用于 claude_desktop_config.json.
  1. 在主屏幕上,单击 Search and Tools 按钮,然后显示您的MCP服务器名称:

image image

确保它已启用。

用法

  1. 您可以简单地让Claude创建一个新的MCP项目: create a new mcp project

作为回应,克劳德会要求你指定一个名字(例如。 my-test-mcp-server),然后创建项目。

image

  1. 该实现还将正确处理项目已经存在的情况,并提示用户指定后续操作。

发展

新工具

可以通过确保中的每个新工具模块来添加新工具 ./src/tools 扩展 AbstractTool 并实施 ITool 并提供显式构造函数(用于测试覆盖率):

...
export class NewTool extends AbstractTool implements ITool {
  // Explicit constructor definition to ensure test coverage in Bun tracks constructor.
  constructor(fetch: typeof globalThis.fetch = globalThis.fetch) {
    super(fetch);
  }
...

此外,必须实施以下方法(参见其相应的 JSDoc 了解详情。):

  • getName
  • getDescription
  • getInputSchema
  • validateWithDefaults
  • processToolWorkflow

使用现有工具作为实施指南,不要忘记实施相应的测试。

无需进一步配置即可注册任何其他工具;它们在MCP服务器重新启动时自动包含在内。

测试覆盖率

使用以下方法分析测试覆盖率差距可能很有用 lcov 报告,以更好地了解所覆盖的线路和功能。

笔记:

  • 类的构造函数应该在相应的类中定义,因为Bun只跟踪类函数(包括构造函数)。当你从一个具有自己构造函数的抽象类继承时,这是有问题的,而构造函数又不被跟踪。因此,只需在类中定义抽象构造函数并调用 super.
  • 有一些进口(例如。 import dedent from "dedent";)在模块顶部可能会导致Bun无法正确跟踪所覆盖的线路。只需将其移至其他导入项之后,它就会正确跟踪。

先决条件(开发)

  1. 安装 lcov:
   brew install lcov
  1. 安装VSCode扩展 ryanluker.vscode-coverage-gutters (已在中定义 settings.json).

运行测试覆盖率

  1. 在大多数情况下,运行以下命令就足够了:
   bun run test:coverage

注: 如果覆盖范围小于100,但不是 Uncovered Line #s 如果报告了,您可能需要按照以下步骤进行进一步调查并重新访问 备注 上面。

  1. 对于高级情况,请运行:
   bun run test:coverage:lcov

它产生了 lcov 覆盖率报告 VSCode扩展所使用的 ryanluker.vscode-coverage-gutters 在编辑器中可视化被覆盖的行。

  1. 如果您更喜欢HTML报告,请在终端中运行:
   genhtml --function-coverage --branch-coverage --output-directory coverage-report coverage/lcov.info

它生成一个HTML 覆盖率报告 您可以在首选浏览器中查看。

目录标签

目录标签

TypeScriptClaudeAI代理MCP服务器本地部署Bun工具项目创建Claude集成开发框架

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP