ESAPI MCP服务器
模型上下文协议(MCP)服务器,为人工智能语言模型提供准确的ESAPI(Eclipse Scripting API)文档和代码模板,消除API幻觉问题。
🖥️ Claude桌面设置
此服务器旨在与 克劳德桌面版 使用模型上下文协议(MCP)。按照以下步骤进行连接:
先决条件
- 克劳德桌面版 安装
- 此ESAPI MCP服务器在本地运行
配置步骤
- 下载并安装Claude Desktop
- 访问 claude.ai/下载 - 为您的操作系统安装Claude Desktop
- 查找Claude桌面配置文件
- 视窗: %APPDATA%\Claude\claude_desktop_config.json - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json
- 添加ESAPI MCP服务器配置
编辑配置文件并添加以下内容(调整设置的路径):
Windows示例:
{
"mcpServers": {
"esapi_mcp": {
"command": "C:\\path\\to\\your\\project\\esapi-mcp-server\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\your\\project\\esapi-mcp-server\\src\\mcp_server.py"],
"cwd": "C:\\path\\to\\your\\project\\esapi-mcp-server",
"env": {},
"timeout": 120000
}
}
}macOS/Linux示例:
{
"mcpServers": {
"esapi_mcp": {
"command": "/path/to/your/project/esapi-mcp-server/.venv/bin/python",
"args": ["/path/to/your/project/esapi-mcp-server/src/mcp_server.py"],
"cwd": "/path/to/your/project/esapi-mcp-server",
"env": {},
"timeout": 120000
}
}
}- 重新启动克劳德桌面
- 完全关闭克劳德桌面 - 重新打开克劳德桌面 - ESAPI MCP工具现在应该可用
故障排除
- 工具未出现:检查配置中的文件路径是否正确,并使用正斜杠或转义反斜杠
- 服务器未启动:确保虚拟环境已正确设置
uv sync - 权限错误:确保Claude Desktop有权在您的项目目录中执行Python
- 超时错误:如果嵌入模型加载时间较长,则增加超时值
了解更多
有关MCP设置的详细说明,请参阅: 模型上下文协议文档
🚀 特性
- 🔍 语义API搜索:使用自然语言查询查找相关的ESAPI示例
- 📝 代码模板:获取不同ESAPI脚本类型的正确样板
- ⚡ 快速查找:即时搜索结果的预计算嵌入(8154+示例)
- 🎯 准确的结果:基于真实的ESAPI文档,而非人工智能猜测
- 🧠 智能匹配:使用Qwen3嵌入模型进行语义理解
📋 快速开始
先决条件
- Python 3.11+
- 紫外线 (推荐)或pip
安装
- 克隆仓库
git clone https://github.com/YOUR_USERNAME/esapi-mcp-server
cd esapi-mcp-server
- 使用UV设置环境
bashuv同步 .venv\\Scripts\\activate#Windows source.ven/bin/activate#Linux/Mac
- 运行服务器
bashpython src\\mcp_server.py
- 连接到您的AI客户端
在Claude Desktop或兼容的AI客户端中添加为MCP服务器 服务器在stdio传输上运行
🛠️ 可用工具
search_api_examples(query: str)
使用自然语言搜索8154+ESAPI示例:
# Example queries:
search_api_examples("how to get DVH data")
search_api_examples("calculate dose statistics")
search_api_examples("access beam parameters")
search_api_examples("patient plan information")get_esapi_template(script_type: str)
获取不同ESAPI脚本类型的代码模板:
get_esapi_template("single_file") # Simple .cs file
get_esapi_template("binary_plugin") # Plugin with .cs + .csproj
get_esapi_template("executable_script") # Standalone executable
get_esapi_template("list") # Show all available typescheck_model_status()
检查嵌入模型是否已完成加载。
📁 项目结构
注意:由于ESAPI需要许可证,我没有在本报告中包含模板/嵌入/数据/文件夹。 如果你想要这些,请联系。
“embed_instructions.py”可用于为问答对创建自己的嵌入。
esapi-mcp-server/
├── src/
│ ├── mcp_server.py # Main MCP server
│ └── embed_instructions.py # Embedding generation script
├── templates/ # ESAPI code templates
│ ├── single_file.cs
│ ├── binary_plugin.cs
│ ├── binary_plugin.csproj
│ ├── executable_script.cs
│ └── executable_script.csproj
├── embeddings/ # Pre-computed embeddings
│ ├── metadata.pkl # Questions & answers
│ └── instruction_embeddings.pkl # Vector embeddings
├── data/ # Training data
└── pyproject.toml # Project configuration🔧 发展
此项目使用 紫外线 用于快速依赖管理。
# Install development dependencies
uv sync
# Run the server
uv run python src/mcp_server.py
# Generate new embeddings (if needed)
uv run python src/embed_instructions.py📊 数据集
- 8154+ESAPI示例 来自综合文档(16.1库)
- 语义嵌入 采用Qwen/Qwen3-Embedded-0.6B模型
- 真正的API调用 具有精确的参数和返回类型
- 多种脚本模式 涵盖常见的ESAPI用例
🎯 用例
非常适合与以下人员合作的医学物理学家和开发人员:
- 治疗计划自动化
- 剂量分析脚本
- 质量保证工具
- 研究应用
- 教育项目
🤝 贡献
这次回购是新的,因此它将有巨大的改进空间。
我计划在有时间的时候不断改进和增强这个回购。
话虽如此,欢迎并鼓励捐款!需要改进的地方:
- 其他ESAPI示例
- 新脚本模板
- 文档改进
- 性能优化
📄 许可证
麻省理工学院许可证-可在您的医学物理工作流程中自由使用。
🙏 致谢
专为医学物理社区而建,旨在改善ESAPI开发经验,减少API文档摩擦。
______________________________________________________________________
备注:该工具提供准确的ESAPI文档,但在临床使用前始终在安全的测试环境中验证脚本。
