MCP画布开发
A. 模型上下文协议(MCP) Canvas Medical API/SDK开发帮助服务器。该服务器提供了对Canvas Medical文档和AI驱动的开发工具的简化访问。
🚀 快速开始
1.安装
# Clone and install dependencies
git clone https://github.com/your-username/mcp-canvas.git
cd mcp-canvas
pnpm install2.配置
# Copy environment template
cp packages/server/env.template packages/server/.env
# Edit with your API credentials
nano packages/server/.env
# Set CARA_CANVAS_API_KEY=your_api_key_here
# Contact nils@caramedical.com for API credentials3.构建和启动
# Build the server
pnpm build
# Start in stdio mode (for MCP clients like Claude Desktop)
pnpm dev
# Start in HTTP mode (for web applications)
STREAMABLE_HTTP=1 pnpm dev🔧 配置选项
选项1:使用公共API(推荐)
服务器使用具有API密钥身份验证的公共API终结点:
# Set environment variables in packages/server/.env (only API key needed for most users)
CARA_CANVAS_BASE_URL=https://k8zoi0cmul.execute-api.us-east-1.amazonaws.com/dev
CARA_CANVAS_API_KEY=your_api_key_here需要API证书吗? 电子邮件 nils@caramedical.com 请求访问。
选项2:部署自己的Lambda代理
对于生产使用或自定义知识库,部署您自己的Lambda代理:
# Navigate to lambda-proxy directory
cd lambda-proxy
# Install dependencies
npm install
# Configure your AWS credentials and Knowledge Base IDs
export API_KNOWLEDGE_BASE_ID=your_api_knowledge_base_id
export SDK_KNOWLEDGE_BASE_ID=your_sdk_knowledge_base_id
# Deploy to AWS
npm run deploy:dev选项3:使用您自己的API端点
将服务器配置为使用您自己的API终结点:
# In packages/server/.env
CARA_CANVAS_BASE_URL=https://your-api-endpoint.com
CARA_CANVAS_API_KEY=your_api_key🛠️ 可用工具
服务器提供 9个流线型工具 和 6个全面提示 Canvas Medical开发:
📚 文档搜索
search_api_docs-搜索Canvas Medical API文档search_sdk_docs-搜索Canvas Medical SDK文档search_all_docs-搜索所有Canvas Medical文档
🤖 人工智能驱动开发
generate_response-使用Canvas Medical文档生成AI响应generate_code-生成Canvas Medical API集成的代码示例review_code-审查Canvas Medical集成代码并提供建议smart_canvas_development-具有自动文档搜索和代码生成功能的智能助手generate_canvas_manifest-生成具有适当结构和数据访问权限的完整Canvas Medical插件清单文件validate_code_against_docs-验证该代码仅使用文档化的API、方法和Canvas Medical文档中的导入。防止对不存在的特征产生幻觉。
🎯 代码生成提示
prompts.generate_code_from_docs-从Canvas Medical文档搜索结果生成完整代码prompts.implement_from_findings-根据研究结果和文件创建完整的实施方案prompts.code_review-审查Canvas Medical集成代码并提供建议prompts.api_implementation-生成Canvas Medical API功能的实施指南prompts.debug_assistance-帮助Canvas Medical API集成调试问题prompts.canvas_manifest_guide-创建和理解Canvas Medical插件清单文件的综合指南(Canvas_manifest.json)
🧠 智能自动触发
MCP服务器现在自动为Canvas Medical开发请求提供全面的响应:
- 插件开发:自动触发文档搜索和代码生成
- API集成:自动搜索相关的API文档
- SDK开发:提供SDK特定的指导和示例
- 医生信息:对临床工作流程问题的智能响应
示例:询问“为画布创建一个插件,在注释中创建一个文本,说明医生/临床医生做了什么注释”,得到:
- 📚 API和SDK相关文档
- 💻 完整的Python插件代码
- 🚀 分步实施指南
- 🛠️ 最佳实践和部署说明
🔄 代码生成工作流
从研究到实施的清晰路径:
- 🔍 研究阶段:
- 使用 search_api_docs 查找相关的Canvas Medical API - 使用 search_sdk_docs 了解Canvas Medical SDK模式 - 使用 search_all_docs 全面的文档覆盖
- 📝 代码生成阶段:
- 使用 prompts.generate_code_from_docs 用于基于文档的代码生成 - 使用 prompts.implement_from_findings 从研究到全面实施 - 使用Canvas Medical最佳实践获取生产就绪代码
- 🔧 开发阶段:
- 使用 prompts.code_review 审查和改进生成的代码 - 使用 prompts.debug_assistance 用于故障排除 - 使用 prompts.api_implementation 用于实施指导
工作流程示例:
1. search_api_docs("note creation") → Get API documentation
2. search_sdk_docs("plugin development") → Get SDK patterns
3. prompts.generate_code_from_docs({
request: "Create note analysis plugin",
documentation: [API + SDK results],
language: "Python"
}) → Get complete implementation
4. prompts.code_review({code: generated_code}) → Review and improve🛡️ 反幻觉措施
生产就绪代码生成:
MCP服务器包括全面的抗幻觉措施,以确保所有生成的代码仅使用有记录的Canvas Medical API:
文档搜索与源代码验证:
- 来源验证 每种API和方法
- 抗幻觉警告 在所有文档结果中
- 明确的指导方针 关于什么可以使用,什么不能使用
- 明确警告 关于未记录的功能
严格验证的代码生成:
- 来源验证意见 在生成的代码中
- 验证未记录的方法 和进口
- 错误处理 对于不存在的API
- 严格要求 在所有提示中
代码验证工具:
validate_code_against_docs-根据文档验证代码- 检测未记录的API 和方法
- 防止幻觉 不存在的特征
- 提供具体建议 用于修复
抗幻觉工作流程示例:
User: "Create a Canvas plugin for note analysis"
MCP Server Response:
1. 🔍 search_api_docs("note analysis") → Get documented APIs with source verification
2. 🔍 search_sdk_docs("Canvas plugin development") → Get documented SDK methods
3. 📝 generate_canvas_manifest({...}) → Generate manifest with documented structure
4. 💻 prompts.generate_code_from_docs({...}) → Generate code with strict validation
5. 🔧 validate_code_against_docs({...}) → Validate generated code against documentation结果: 完整的Canvas Medical插件,包括:
- ✅ 仅记录API和方法
- ✅ 所有组件的来源验证
- ✅ 抗幻觉验证
- ✅ 对未记录的功能进行适当的错误处理
📚 文档
先决条件
- Node.js 18+
- pnpm
设置
# Install dependencies
pnpm install
# Build the server
pnpm build
# Run tests
pnpm test
# Start development server
pnpm dev🛡️ 安全
- 无需凭据 -使用公共API终结点
- 开源 -所有代码都是公开的
- 环境变量 自定义配置
�� 文档
🔒 安全与隐私
公共API使用
- 需要API密钥 -联系方式nils@caramedical.com获取凭据
- 无需AWS凭据 用于基本用途
- 无敏感数据 存储在存储库中
- 公共端点 可与API密钥身份验证一起使用
自定义部署
- 部署自己的Lambda代理以供生产使用
- 将您的AWS凭据保密
- 使用您自己的API密钥和端点
🤝 贡献
- 复刻仓库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
��️ MCP客户端设置
Canvas Medical MCP服务器可与各种MCP兼容应用程序配合使用。以下是如何设置它:
克劳德桌面(拟人)
- 安装克劳德桌面 从 Anthropic网站
- 创建配置文件:
# Create config directory
mkdir -p ~/.config/claude-desktop
# Create configuration file
nano ~/.config/claude-desktop/claude_desktop_config.json- 添加MCP服务器配置:
{
"mcpServers": {
"canvas-medical": {
"command": "node",
"args": ["/path/to/your/mcp-canvas/packages/server/dist/index.js"],
"env": {
"CARA_CANVAS_API_KEY": "your_api_key_here"
}
}
}
}- 重新启动克劳德桌面 开始使用Canvas Medical工具!
光标IDE
- 打开光标IDE
- 创建MCP配置:
# Create config directory
mkdir -p ~/.cursor
# Create configuration file
nano ~/.cursor/mcp.json- 添加MCP服务器配置:
{
"mcpServers": {
"canvas-medical": {
"command": "node",
"args": ["/path/to/your/mcp-canvas/packages/server/dist/index.js"],
"env": {
"CARA_CANVAS_API_KEY": "your_api_key_here"
}
}
}
}- 重新启动游标 在聊天中使用Canvas Medical工具!
Continue.dev(VS代码扩展)
- 安装继续扩展 VS代码
- 打开继续配置 (
Cmd/Ctrl + Shift + P→ “继续:打开配置”)
- 添加MCP服务器配置:
{
"mcpServers": {
"canvas-medical": {
"command": "node",
"args": ["/path/to/your/mcp-canvas/packages/server/dist/index.js"],
"env": {
"CARA_CANVAS_API_KEY": "your_api_key_here"
}
}
}
}- 重新启动VS代码 使用Canvas医疗工具!
打开WebUI
- 安装Open WebUI 支持MCP
- 配置MCP服务器 在设置中:
- 服务器名称: canvas-medical - 命令: node - Args: ["/path/to/your/mcp-canvas/packages/server/dist/index.js"] - 环境变量: CARA_CANVAS_API_KEY=your_api_key_here
- 开始使用Canvas医疗工具!
LM工作室
- 安装LM Studio 支持MCP
- 配置MCP服务器 在设置中:
- 服务器路径: /path/to/your/mcp-canvas/packages/server/dist/index.js - 环境变量: CARA_CANVAS_API_KEY=your_api_key_here
- 开始使用Canvas医疗工具!
自定义应用程序
对于支持MCP的自定义应用程序:
- 启动服务器:
cd packages/server
CARA_CANVAS_API_KEY="your_api_key" pnpm dev- 通过stdio连接 或 HTTP模式:
# HTTP mode for web applications
STREAMABLE_HTTP=1 CARA_CANVAS_API_KEY="your_api_key" pnpm dev🔑 正在获取API凭据
需要API证书吗? 电子邮件 nils@caramedical.com 请求访问。
注: 大多数用户只需要API密钥。默认情况下,服务器使用公共终结点。
🔧 故障排除
常见问题:
“需要API密钥”错误:
- 确保
CARA_CANVAS_API_KEY在MCP客户端配置中设置 - 通过电子邮件验证API密钥是否有效nils@caramedical.com
“找不到模块”错误:
- 确保您已经构建了服务器:
pnpm build - 检查以下路径
dist/index.js是正确的
“连接被拒绝”错误:
- 验证服务器是否正在运行:
pnpm dev - 检查MCP客户端配置是否正确
工具未出现:
- 配置更改后重新启动MCP客户端
- 验证服务器是否正在运行且可访问
测试服务器:
# Test the server directly
cd packages/server
CARA_CANVAS_API_KEY="your_api_key" pnpm dev获取帮助:
- 问题:
- API证书: nils@caramedical.com
- 文档: 查看README.md以获取详细示例
