ESAPI文档服务器

一个为AI语言模型提供准确ESAPI文档和代码模板的服务器,消除API幻觉问题。

  • by Msouther-RT
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Msouther-RT/esapi-mcp-server

使用说明

ESAPI MCP服务器

模型上下文协议(MCP)服务器,为人工智能语言模型提供准确的ESAPI(Eclipse Scripting API)文档和代码模板,消除API幻觉问题。

🖥️ Claude桌面设置

此服务器旨在与 克劳德桌面版 使用模型上下文协议(MCP)。按照以下步骤进行连接:

先决条件

配置步骤

  1. 下载并安装Claude Desktop

  2. 查找Claude桌面配置文件

    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  3. 添加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
        }
      }
    }
    
  4. 重新启动克劳德桌面

    • 完全关闭克劳德桌面
    • 重新打开克劳德桌面
    • ESAPI MCP工具现在应该可用

故障排除

  • 工具未出现:检查配置中的文件路径是否正确,并使用正斜杠或转义反斜杠
  • 服务器未启动:确保虚拟环境已正确设置 uv sync
  • 权限错误:确保Claude Desktop有权在您的项目目录中执行Python
  • 超时错误:如果嵌入模型加载时间较长,则增加超时值

了解更多

有关MCP设置的详细说明,请参阅: 模型上下文协议文档

🚀 特性

  • 🔍 语义API搜索:使用自然语言查询查找相关的ESAPI示例
  • 📝 代码模板:获取不同ESAPI脚本类型的正确样板
  • ⚡ 快速查找:即时搜索结果的预计算嵌入(8154+示例)
  • 🎯 准确的结果:基于真实的ESAPI文档,而非人工智能猜测
  • 🧠 智能匹配:使用Qwen3嵌入模型进行语义理解

📋 快速开始

先决条件

安装

  1. 克隆仓库

    git clone https://github.com/YOUR_USERNAME/esapi-mcp-server
    cd esapi-mcp-server
    
    
  2. 使用UV设置环境 bashuv同步 .venv\Scripts\activate#Windows source.ven/bin/activate#Linux/Mac

  3. 运行服务器 bashpython src\mcp_server.py

  4. 连接到您的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 types

check_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文档,但在临床使用前始终在安全的测试环境中验证脚本。