Token导航 LogoToken导航TokenDH.com
Typescript MCP Demo logo
AI代理未说明官方级别未说明来源级核验

Typescript MCP Demo

MCP Server

A typescript example for web app as the host connecting node mcp server

工具数

3

提示词数

0

GitHub Stars

6

资源数

0
聊天界面TypeScriptClaudeAI代理Claude

安装说明

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

作者 / 组织

jiangyan

提供方

jiangyan

最后核验

2026/5/18 03:32

快速接入

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

详细介绍

MCP与克劳德聊天

一个全栈应用程序,演示了模型上下文协议(MCP)与Anthropic的Claude LLM的集成,提供了一个利用MCP工具的交互式聊天界面。 image

项目概述

该项目由三个主要部分组成:

  1. 多个MCP服务器:实现模型上下文协议的Node.js服务器,为LLM提供各种专用工具。
  2. 主机应用程序:充当用户Claude AI和MCP服务器之间中介的Express服务器。
  3. web客户端:与Host App通信的基于浏览器的聊天界面。

特性

  • 与Claude AI的交互式聊天界面
  • 显示对话和工具执行详细信息的双面板UI
  • 从多个MCP服务器动态发现工具
  • 支持来自每台服务器的具有不同参数的专用工具
  • 通过MCP正确处理克劳德的工具使用

项目结构

├── client/                 # Host app & web client
│   ├── dist/               # Compiled TypeScript
│   ├── host-app.ts         # Host application server
│   ├── chat.js             # Frontend chat interface logic
│   ├── index.html          # Main web interface
│   ├── styles.css          # Styling for web interface
│   ├── package.json        # Client dependencies
│   └── mcp-client-example.ts # Example MCP client for testing
│
├── server/                 # MCP servers
│   ├── dist/               # Compiled TypeScript
│   ├── mcp-server-todoplan.ts # TodoPlan MCP server implementation
│   ├── mcp-server-project.ts  # Project MCP server implementation
│   └── package.json        # Server dependencies
│
├── .gitignore              # Git ignore file
└── README.md               # Project documentation

先决条件

  • Node.js 17或更高版本
  • npm或纱线
  • 无烟煤API键

安装

  1. 克隆存储库:
   git clone https://github.com/jiangyan/typescript-mcp-demo.git
   cd typescript-mcp-demo
  1. 为客户端和服务器安装依赖关系:
   cd server
   npm install
   cd ../client
   npm install
  1. 创建 .env 使用Anthropic API密钥在客户端目录中的文件:
   ANTHROPIC_API_KEY=your-api-key-here
   MCP_SERVER_TODOPLAN_URL=http://localhost:8000/sse
   MCP_SERVER_PROJECT_URL=http://localhost:8001/sse
   PORT=3000
  1. 创建 .env 服务器目录中的文件:
   MCP_SERVER_TODOPLAN_PORT=8000
   MCP_SERVER_PROJECT_PORT=8001

设置和运行

步骤1:启动MCP服务器

# Terminal 1: Start the TodoPlan MCP server
cd server
npm run build:todoplan
npm run start:todoplan

# Terminal 2: Start the Project MCP server
cd server
npm run build:project
npm run start:project

默认情况下,TodoPlan MCP服务器将从端口8000启动,Project MCP服务器将在端口8001启动。

步骤2:启动主机应用程序(web服务器)

cd client
npm run build
npm start

默认情况下,web服务器将在端口3000上启动。

步骤3:访问聊天界面

打开浏览器并导航到:

http://localhost:3000

可用的MCP工具

MCP服务器提供了Claude可以使用的以下工具:

  1. todoplan-server_get-todo:获取特定类别的待办事项

- 参数: - category:字符串(例如“生活”、“工作”、“家庭”、“朋友”)

  1. todoplan-server_get-plan:获得总体计划

- 参数:无

  1. 项目服务器get-project-details:获取特定项目的详细信息

- 参数: - project_name:字符串(例如“地球”、“火星”、“木星”、“土星”)

附加示例

该项目包括一个独立的MCP客户端示例(mcp-client-example.ts)它演示了如何在没有web界面的情况下以编程方式连接到MCP服务器。

要运行此示例:

cd client
npm run client

发展

MCP服务器开发

要向MCP服务器添加新工具,请执行以下操作:

  1. 打开服务器文件(例如。, server/mcp-server-todoplan.ts)
  2. 在现有模式之后添加新的工具定义:
   server.tool("tool-name",
     { param1: z.string() },
     async ({ param1 }) => {
       // Tool implementation
       return {
         content: [{ type: "text", text: "Result" }]
       };
     }
   );
  1. 重建并重新启动服务器

主机应用程序开发

主机应用程序由以下部分组成:

  • 后端(host-app.ts):与Claude和多个MCP服务器通信的Express服务器
  • 前端(chat.js, index.html, styles.css):与后端通信的聊天界面

建筑

┌─────────────┐       ┌────────────────┐       ┌───────────────┐
│             │       │                │       │               │
│  Web UI     │◄─────►│  Host App      │◄─────►│  MCP Servers  │
│  (Browser)  │       │  (Express)     │       │  (Node.js)    │
│             │       │                │       │               │
└─────────────┘       └───────┬────────┘       └───────────────┘
                              │
                              ▼
                      ┌───────────────┐
                      │               │
                      │  Claude API   │
                      │  (Anthropic)  │
                      │               │
                      └───────────────┘

多MCP服务器实现

该项目实现了多服务器MCP架构,允许Claude从不同的专用服务器访问工具。

服务器配置

该项目包括两个不同的MCP服务器:

  1. TodoPlan MCP服务器 (server/mcp-server-todoplan.ts):提供管理待办事项和计划的工具

- get-todo:获取特定类别的待办事项 - get-plan:获得总体计划

  1. Project MCP服务器 (server/mcp-server-project.ts):提供用于访问项目信息的工具

- get-project-details:获取特定项目的详细信息

主机应用程序集成

主机应用程序(client/host-app.ts)已实施以:

  1. 同时连接到多个MCP服务器
  2. 使用下划线在工具名称前加上它们的服务器名称,以避免冲突(例如。, todoplan-server_get-todo)
  3. 根据前缀将工具调用路由到相应的服务器
  4. 向LLM展示一套统一的工具

查询示例

尝试以下查询以测试多个服务器的集成:

  • “告诉我地球项目”
  • “我的工作类别是什么?”
  • “在工作类别中找到我的待办事项,并告诉我哪些项目与之相关”
  • “我的计划是什么?”

故障排除

  1. 连接问题:确保MCP服务器和主机应用程序都在运行,并检查控制台是否有错误消息。
  1. 未找到工具:确保MCP服务器正在运行,工具名称完全匹配。
  1. API关键错误:验证您的Anthropic API密钥在客户的 .env 文件。
  1. 工具使用错误:查看响应面板以获取详细的错误信息。
  1. 工具名称格式无效:确保工具名称遵循Anthropic要求的格式(仅限字母数字字符、下划线和连字符)。

许可证

麻省理工学院

致谢

目录标签

目录标签

聊天界面TypeScriptClaudeAI代理developer-tools本地部署LLM集成MCP协议工具调用全栈应用

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP