返回市场
朱斯文档MCP服务器

朱斯文档MCP服务器

作者:josmithiii8 星标更新:2025-03-16

项目介绍

JUCE 文档 MCP 服务器

这是一个提供对 JUCE 框架 C++ 类文档访问的 MCP(模型上下文协议)服务器。

特性

  • 获取特定 JUCE 类的文档
  • 列出所有可用的 JUCE 类
  • 通过名称搜索类
  • 将文档格式化为 Markdown
  • 通过 MCP 资源和工具公开文档

安装

# 克隆仓库
git clone https://github.com/josmithiii/mcp-servers-jos.git
cd mcp-servers-jos/juce-docs-mcp-server

# 安装依赖
npm install

# 构建项目
npm run build

使用方法

运行服务器

npm start

这会使用 stdio 作为传输机制启动 MCP 服务器,允许与像 Claude Desktop App、Continue 或其他兼容 MCP 的应用程序一起使用。

在 Cursor 中添加 MCP 服务(测试于 2025-03-11)

  1. 打开 Cursor / 设置 / Cursor 设置
  2. 选择 MCP
  3. 名称 设置为 JUCE Docs(或其他名称),并将 类型 设置为 命令
  4. 命令 设置为 node /path/to/juce-docs-mcp-server/dist/index.js, 将 /path/to/juce-docs-mcp-server 替换为你克隆的实际路径
  5. 重启 Cursor 应用更改(它会内部运行 node .../dist/index.js

请注意,Cursor 向你通过 npm start 启动的本地服务器发送 MCP 请求。

可用资源

  • juce://class/{className} - 获取特定 JUCE 类的文档
  • juce://classes - 列出所有可用的 JUCE 类

可用工具

  • /search-juce-classes - 通过名称搜索 JUCE 类
  • /get-juce-class-docs - 获取特定 JUCE 类的文档

可用提示

  • explore-juce - JUCE 框架组件的交互式探索
    • 不带参数使用以获得主要组件概述
    • 添加一个主题来探索特定功能(例如,explore--juce audio

资源和工具

除了可以指示你的 LLM(如在 Cursor 中)使用 MCP 内部的提示外,你还可以通过“资源”和“工具”名称直接查询:

  1. 资源看起来像是直接获取特定内容的 URL。它们遵循类似 URI 的模式,格式为 protocol://path。这些在服务器中被定义为直接资源端点。示例:juce://classes

  2. 工具使用以 / 开头的名字,并支持跟随的参数,即 /tool-name arg-string,并提供执行操作的交互命令。MCP 工具以 / 开头,以区分资源。这类似于许多应用中的斜杠命令工作方式,如 Claude Codeaider。请注意,在 IDE 聊天中,arg-string 可以包含空格,并以行尾终止(根据 Claude 3.7)。

总结来说,当你连接到 MCP 客户端(如通过 Cursor 聊天)时,你可以以 protocol://path 格式访问“资源”,以 /tool-name arg string 格式访问“工具”。

示例

  1. 列出所有可用的类:juce://classes
  2. 获取特定类的文档:juce://class/ValueTree
  3. 搜索所有音频类:/search-juce-classes Audio
  4. 获取特定类的文档:/get-juce-class-docs AudioProcessor

更改 JUCE 文档 URL

juce-docs-mcp-server/src/juce-docs.ts 中编辑以下行:

const BASE_URL = 'https://ccrma.stanford.edu/~jos/juce_modules';

更现代的选择包括:

const BASE_URL = 'https://docs.juce.com/develop';
const BASE_URL = 'https://docs.juce.com/master';

有效 JUCE 开发技巧

在进行 JUCE 项目时,如何充分利用 JUCE 文档 MCP 服务器:

快速参考工作流程

  1. 探索组件

    • /search-juce-classes 开始,后跟一个通用类别(音频、GUI 等)
    • 使用 explore-juce audio(或其他领域)获得相关类的概述
  2. 实现帮助

    • 当实现特定功能时,使用 juce://class/ClassName 获取详细文档
    • 查找类文档中的代码示例
  3. 方法参考

    • 类文档包括所有带有签名和描述的方法
    • 当你需要理解参数类型或返回值时使用此功能

集成到你的开发过程

  1. 在 IDE 旁边保持 Cursor 打开

    • 让 Cursor 和 MCP 服务器在一个单独的窗口中运行
    • 这样可以在不离开代码编辑器的情况下即时访问文档
  2. 在规划阶段使用

    • 在实现功能之前,使用 /search-juce-classes 探索可用的类
    • 这有助于你在编写代码前理解 JUCE 的方法
  3. 调试辅助

    • 当遇到意外行为时,检查类文档
    • 查找关于边缘情况或实现细节的说明

特定 JUCE 开发技巧

  1. 音频处理

    • AudioProcessor 开始进行插件开发
    • 使用 AudioSource 进行播放应用
    • 检查 dsp:: 命名空间类以进行高效的信号处理
  2. GUI 开发

    • 所有自定义组件都基于 Component
    • 使用 AudioAppComponent 来结合音频和 GUI 功能
    • 查看 LookAndFeel 进行样式设置
  3. 插件开发

    • 参考 AudioProcessorAudioProcessorEditor 以了解核心插件架构
    • 检查 AudioProcessorValueTreeState 以管理参数

实现细节

该服务器从斯坦福大学CCRMA托管的JUCE文档中获取文档(https://ccrma.stanford.edu/~jos/juce_modules/),当然你可以更改它,如上所述。 它实时处理HTML文档:

  1. 类列表从注释的类列表页面获取
  2. 单个类文档从类特定页面解析
  3. 文档被格式化为 Markdown 以确保一致显示
  4. 结果在服务器运行期间缓存在内存中

错误处理

常见问题及解决方案:

  1. 类未找到:如果类名无效或未找到,服务器将返回明确的错误消息
  2. 连接问题:如果无法访问 JUCE 文档站点,请检查您的互联网连接
  3. 服务器启动失败:确保安装了正确的 Node.js 版本并且构建步骤成功完成
  4. Cursor 集成:如果服务器在 Cursor 中不起作用,请验证 MCP 设置中的命令路径是否正确

开发

# 以自动重新编译的方式运行开发模式
npm run dev

开发者笔记

许可证

MIT