Provides access to project-specific Markdown documentation for the Cangjie/ArkTS development project, including global documentation, module-specific documents, and FFI summaries through MCP resources.
Implements an MCP server using Python and FastMCP framework to deliver Cangjie project context, development templates, and documentation resources to IDEs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CJ-MCPsummarize the UI module documentation for me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CJ-MCP — Cangjie Project MCP Server
一个最小可用、可扩展的 Model Context Protocol (MCP) 服务器,用于在 IDE(如 Cursor)里为模型提供:
项目专有上下文(模块化的设计文档与规范)
Cangjie/ArkTS 开发模板(工具与提示模板)
它非常适合与 Context7(或任何“Cangjie 语法/标准库参考”的 MCP)同时启用:
Context7 负责语言/语法/标准库
CJ-MCP 负责你项目的专有知识与流程
目录结构详解
快速开始
环境准备(conda 或 python venv 都行)
注意:
将
/home/maxime/ws/my_mcp_server/server.py替换为你的实际路径如果使用虚拟环境,
command应指向虚拟环境中的 Python,例如:"/path/to/.venv/bin/python"重启 Cursor 使配置生效
功能说明
资源(Resources)
CJ-MCP 提供以下资源,模型可以通过 MCP 协议访问:
全局资源
cj://syntax- 仓颉语法/规范汇总自动聚合
resources/global/下所有.md文件包含 Cangjie-C FFI 使用总结等全局文档
cj://global- 所有全局文档包含语法、风格指南、公共设计等
支持子目录结构(如
libs/std/下的标准库文档)
模块资源
proj://modules/{module}- 指定模块的全部文档module参数示例:"incremental engine","ui","serialization_deserialization"自动扫描模块目录下的所有
.md文件并聚合支持中文模块名(如
"incremental engine")
使用示例:
工具(Tools)
summarize_module
对指定模块的文档进行粗粒度摘要,按文件顺序截取前若干字符。
参数:
module(str) - 模块名称max_chars(int, 默认: 12000) - 最大字符数
返回:以 ==== FILE: 分隔的文档摘要
提示模板(Prompts)
cj_module_dev
针对某个模块的开发任务提示模板。
参数:
module(str) - 模块名称task(str) - 具体任务描述
使用场景:当需要开发或修改某个模块的功能时,使用此 prompt 可以让模型:
自动获取相关语法文档(从 Context7)
自动获取项目全局约定(从
cj://global)自动获取模块专有文档(从
proj://modules/{module})生成符合项目规范的代码
示例:
cj_module_summary
总结模块设计的提示模板。
参数:
module(str) - 模块名称
返回内容:
模块目标与边界
关键类型/类/组件
状态与事件流转
与其他模块的依赖关系
已知坑点与注意事项
使用示例
示例 1:使用 cj_module_dev prompt
在 Cursor 中,你可以直接调用 prompt:
模型会自动:
读取
cj://global获取全局规范读取
proj://modules/incremental engine获取增量引擎文档根据任务生成符合规范的代码或文档
示例 2:直接访问资源
模型可以直接请求资源:
示例 3:使用工具生成组件
开发指南
添加新模块文档
在
resources/modules/下创建模块目录(支持中文名称)将模块相关的
.md文档放入该目录文档会自动被
proj://modules/{module}资源聚合
示例:
添加全局文档
将文档放入
resources/global/目录支持子目录结构(如
libs/std/)所有
.md文件会自动被cj://syntax和cj://global资源聚合
扩展工具
在 server.py 中添加新的 @mcp.tool() 装饰器函数:
扩展提示模板
在 server.py 中添加新的 @mcp.prompt() 装饰器函数:
依赖说明
Python 依赖
主要依赖:
mcp- Model Context Protocol 服务器框架(FastMCP)
安装:
或创建 requirements.txt:
然后安装:
Python 版本
建议使用 Python 3.11 或更高版本。
常见问题
Q: 如何验证 MCP 服务器是否正常工作?
A: 在 Cursor 中,打开 MCP 面板(通常通过命令面板),查看 cj-mcp 服务器状态。如果显示已连接,说明配置成功。
Q: 模块名称支持中文吗?
A: 支持。模块名称可以是中文,例如 "incremental engine"。在访问资源时使用:proj://modules/incremental engine
Q: 如何与 Context7 配合使用?
A: CJ-MCP 专注于项目专有知识,Context7 专注于语言语法和标准库。两者可以同时启用:
Context7 提供:语法规则、标准库 API、语言特性
CJ-MCP 提供:项目架构、模块设计、团队规范
Q: 资源文件支持哪些格式?
A: 目前主要支持 Markdown (.md) 文件。其他格式的文件会被忽略。
Q: 如何调试 MCP 服务器?
A: 可以直接运行 python server.py,服务器会通过 stdio 与客户端通信。如果出现错误,会在终端显示。
Q: 虚拟环境中的 Python 路径如何配置?
A: 在 .cursor/mcp.json 中,command 字段应指向虚拟环境的 Python 可执行文件:
贡献
欢迎提交 Issue 和 Pull Request!
许可证
[根据项目实际情况填写]
更新日志
v1.0.0
初始版本
支持全局资源和模块资源
提供组件生成工具
提供模块开发提示模板# CJ-MCP — Cangjie Project MCP Server