Token导航 LogoToken导航TokenDH.com
MCP js example logo
运维云端stdio官方级别未说明来源级核验

MCP js example

MCP Server

@modelcontextprotocol/inspector

提供跨平台的临床风险评估工具,支持JavaScript和.NET实现,具备互操作性。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
JavaScriptVS Code云端部署VS Code

安装说明

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

作者 / 组织

kumarchitta

提供方

kumarchitta

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector

详细介绍

MCP服务器和客户端示例(JavaScript+.NET)

此存储库演示了模型上下文协议(MCP)在以下两种情况下的实现 JavaScript.NET,展示跨平台互操作性。这两种实现都提供了相同的临床风险评估工具,并且可以无缝地相互通信。

项目结构

mcp_poc/
├── mcp-js-server/         # JavaScript MCP Server (Express)
├── mcp-js-client/         # JavaScript MCP Client (LangChain + OpenAI)
├── mcp-dotnet-server/     # .NET MCP Server (ASP.NET Core) ✅
├── mcp-dotnet-client/     # .NET MCP Client (Microsoft.Extensions.AI) ✅
└── DOTNET_IMPLEMENTATION.md  # Detailed .NET implementation guide

特性

实现

JavaScript和。NET实现提供:

MCP服务器 (mcp-js-server/ & mcp-dotnet-server/)

  • 临床风险评估工具 通过MCP协议
  • HTTP/JSON-RPC端点 便于集成
  • 三个相同的工具:

- calculate_risk_score -根据年龄和共病计数计算临床风险评分 - get_patient_health_conditions -检索患者的健康状况 - get_patient_summary -返回完整的患者人口统计和病情摘要

MCP客户端 (mcp-js-client/ & mcp-dotnet-client/)

  • LLM集成 使用OpenAI/Azure OpenAI
  • 自动工具发现 来自MCP服务器
  • LLM电动工具调用 -AI决定何时以及如何使用工具
  • 多种测试场景 演示实际使用情况

跨平台互操作性

  • 🔄 JavaScript客户端JavaScript服务器
  • 🔄 JavaScript客户端.NET服务器
  • 🔄 .NET客户端.NET服务器
  • 🔄 .NET客户端JavaScript服务器

先决条件

用于JavaScript实现

  • Node.js v20+
  • npm或纱线

为了。NET实现

  • .NET 8.0 SDK或更高版本
  • Visual Studio 2022、VS Code或Rider(可选)

对于两者

  • OpenAI API密钥或Azure OpenAI凭据

设置

1.克隆存储库

git clone git@github.com:kumarchitta/mcp_js_example.git
cd mcp_js_example

2.JavaScript设置

安装服务器依赖项

cd mcp-js-server
npm install

安装客户端依赖项

cd ../mcp-js-client
npm install

配置环境变量

创建一个 .env 文件在 mcp-js-client/:

# For OpenAI
OPENAI_API_KEY=your_openai_api_key
MODEL_PROVIDER=openai

# OR for Azure OpenAI
# MODEL_PROVIDER=azure
# AZURE_API_KEY=your_azure_api_key
# AZURE_ENDPOINT=https://your-resource.openai.azure.com
# AZURE_DEPLOYMENT_NAME=gpt-4o

3.NET安装程序

还原服务器依赖关系

cd mcp-dotnet-server/McpDotnetServer
dotnet restore

还原客户端依赖关系

cd ../../mcp-dotnet-client/McpDotnetClient
dotnet restore

配置设置

编辑 appsettings.jsonmcp-dotnet-client/McpDotnetClient/:

{
  "MODEL_PROVIDER": "openai",
  "OPENAI_API_KEY": "your-openai-api-key",
  "MCP_SERVER_URL": "http://localhost:8080/mcp"
}

用法

选项1:JavaScript堆栈

启动JavaScript MCP服务器

cd mcp-js-server
npm run dev

运行JavaScript MCP客户端

在新终端中:

cd mcp-js-client
npm run dev

选项2:。NET堆栈

开始。NET MCP服务器

cd mcp-dotnet-server/McpDotnetServer
dotnet run

快跑。NET MCP客户端

在新终端中:

cd mcp-dotnet-client/McpDotnetClient
dotnet run

选项3:混合堆栈(演示互操作性)

JavaScript客户端→ .服务器

# Terminal 1: Start .NET Server
cd mcp-dotnet-server/McpDotnetServer
dotnet run

# Terminal 2: Run JavaScript Client
cd mcp-js-client
MCP_SERVER_URL=http://localhost:8080/mcp npm run dev

.NET客户端→ JavaScript服务器

# Terminal 1: Start JavaScript Server
cd mcp-js-server
PORT=3000 npm start

# Terminal 2: Run .NET Client (update appsettings.json MCP_SERVER_URL to http://localhost:3000/mcp)
cd mcp-dotnet-client/McpDotnetClient
dotnet run

客户在做什么

双方客户将:

  1. 连接到MCP服务器
  2. 加载可用工具
  3. 运行6个测试查询,演示LLM+MCP集成
  4. 显示结果和工具调用

输出示例

✅ Loaded 3 tools from MCP server:
   • calculate_risk_score — Compute a clinical risk score from age and comorbidity count.
   • get_patient_health_conditions — Retrieve known health conditions for a patient.
   • get_patient_summary — Return demographic and condition summary for a patient.

📝 Test 1/6:
Query: "Calculate the risk score for a 72-year-old patient with 5 comorbidities."

✨ Final LLM Response: The risk score for a 72-year-old patient with 5 comorbidities is 39.4, which falls into the "medium" risk category.

模拟数据

服务器包括模拟患者数据:

  • P001:爱丽丝·约翰逊(68岁,3种合并症)
  • P002:罗伯特·史密斯(45岁,1例合并症)
  • P003:玛丽亚·洛佩兹(72岁,5种合并症)

API直接测试

您还可以直接使用curl测试服务器:

# Query patient health conditions
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_patient_health_conditions",
      "arguments": { "patientId": "P001" }
    }
  }'

MCP检查员

  npx @modelcontextprotocol/inspector

建筑

JavaScript堆栈

┌─────────────┐         ┌─────────────┐         ┌─────────────┐
│             │         │             │         │             │
│  OpenAI/    │◄────────│  MCP Client │◄────────│  MCP Server │
│  Azure      │  Tools  │  (LangChain)│  HTTP   │  (Express)  │
│             │         │             │         │             │
└─────────────┘         └─────────────┘         └─────────────┘
                             │                        │
                        Decides when              Executes
                        to call tools             clinical tools

.NET堆栈

┌─────────────┐         ┌─────────────┐         ┌─────────────┐
│             │         │             │         │             │
│  OpenAI/    │◄────────│  MCP Client │◄────────│  MCP Server │
│  Azure      │  Tools  │(MS.Ext.AI)  │HTTP/SSE │(ASP.NET Core│
│             │         │             │         │             │
└─────────────┘         └─────────────┘         └─────────────┘
                             │                        │
                        Decides when              Executes
                        to call tools             clinical tools

跨平台互操作性⭐

    JavaScript Client ─────┐
                           ├──► JavaScript Server
         .NET Client ─────┘         OR
                                .NET Server

两种实现都使用相同的MCP协议,确保了完全的互操作性!

使用的技术

JavaScript堆栈

  • @模型上下文协议/sdk -MCP协议实现
  • @朗肯/奥派 -LangChain OpenAI集成
  • @langchain/核心 -LangChain核心工具
  • 快速 -HTTP服务器
  • 萨德 -架构验证

.NET堆栈

  • 模型上下文协议SDK -官方C#MCP SDK(微软/Anthropic合作)
  • 模型上下文协议。AspNetCore -ASP。NET核心集成
  • 微软。扩展。人工智能 -AI抽象层
  • Azure。好的 -Azure OpenAI客户端
  • OpenAI SDK -OpenAI客户端

主要区别

特性JavaScript。NET
服务器框架Express.jsASP。NET核心最低API
工具定义普通函数基于属性([McpServerTool])
类型安全运行时(JSDoc)编译时(C#类型)
响应格式JSON服务器发送事件(SSE)
客户端集成LangChain微软。扩展。AI
部署Node.js运行时原生/Docker/云

每次实施的好处

JavaScript

  • ✅ 快速开发和迭代
  • ✅ 广泛的npm生态系统
  • ✅ 易于上手
  • ✅ 大型社区和实例

.NET

  • ✅ 编译时型安全
  • ✅ 更好的性能(本机编译)
  • ✅ 企业功能(DI、日志记录、健康检查)
  • ✅ 强大的工具(Visual Studio、Rider)
  • ✅ 易于容器化和云部署

快速测试

测试JavaScript服务器

cd mcp-js-server
npm start

# In another terminal
curl http://localhost:8080/health

测试。服务器

cd mcp-dotnet-server/McpDotnetServer
dotnet run

# In another terminal
curl http://localhost:8080/health

直接测试MCP协议

# Test tools/list endpoint
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

# Test calculate_risk_score tool
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc":"2.0",
    "id":2,
    "method":"tools/call",
    "params":{
      "name":"calculate_risk_score",
      "arguments":{"age":72,"comorbidityCount":5}
    }
  }'

文档

实施状态

组件语言状态注释
MCP服务器JavaScript✅ 完成Express.js,JSON响应
MCP服务器。NET✅ 完成ASP。NET Core、SSE响应
MCP客户端JavaScript✅ 完成LangChain集成
MCP客户端。NET✅ 完成微软。扩展。AI集成
互操作性两者都有✅ 已验证所有组合均已测试

是什么让这个特别

此存储库演示了:

  1. 语言不可知协议:相同的MCP协议适用于JavaScript和。网
  2. 完全互操作性:任何客户端都可以与任何服务器通信,无论语言如何
  3. 生产就绪:两种实现都使用官方SDK和最佳实践
  4. 真实世界示例:集成LLM的医疗风险评估工具
  5. 现代科技:最新。NET 8、Node.js 20+、OpenAI GPT-4o

后续步骤

  • ✅ 探索这两个实现中的代码
  • ✅ 运行示例并查看MCP的运行情况
  • ✅ 尝试将JavaScript和。NET组件
  • 📚 阅读 DOTNET_实施.md 详细。NET指南
  • 🔧 根据自己的用例调整工具
  • 🚀 部署到生产环境(Docker、Azure、AWS等)

许可证

国际学生委员会

作者

阿斯瓦尼·库马尔·奇塔

MCP Demo

目录标签

目录标签

JavaScriptVS Code云端部署临床风险评估C#本地部署跨平台互操作性.NET医疗健康

支持客户端

VS Code

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP