返回市场
idlize从化MCP服务器

idlize从化MCP服务器

作者:PoivronMax2 星标更新:2025-11-13

项目介绍

CJ-MCP — Cangjie Project MCP Server

一款最小可用且可扩展的模型上下文协议(MCP)服务器,用于提供模型所需的:

  • 项目特定上下文(模块化设计文档和规范)
  • Cangjie/ArkTS开发模板(工具和技巧模板)

非常适合与Context7(或任何“Cangjie语法/标准库参考”的MCP)同时启用:

  • Context7负责语言/语法/标准库
  • CJ-MCP负责您项目的专有知识和流程

目录结构详细说明

my_mcp_server/
├── server.py              # MCP服务器主程序(FastMCP + stdio)
├── prompts.json           # 提示模板配置文件(可选)
├── README.md              # 本文件
├── resources/             # 暴露给模型的只读资料
│   ├── global/            # 全局通用文档
│   │   ├── CANGJIE_C_FFI_SUMMARY.md  # Cangjie-C FFI使用总结
│   │   └── libs/          # 标准库文档(可选)
│   │       └── std/       # 标准库各模块文档
│   └── modules/           # 各模块专属文档(按模块拆分上下文)
│       ├── incremental engine/  # 增量引擎模块
│       │   ├── 增量引擎串讲.md
│       │   ├── 增量引擎调用流程总结.md
│       │   ├── 仓颉函数调用流程详解.md
│       │   ├── 仓颉增量引擎相关概念解析.md
│       │   ├── 仓颉状态变更失效和更新机制详解.md
│       │   └── Dependency系统对比分析.md
│       ├── ui/            # UI模块
│       │   ├── CALLBACK_FFI_DESIGN.md
│       │   └── onClick_Callback_Flow_Analysis.md
│       └── serialization_deserialization/  # 序列化模块(待补充)
└── .cursor/               # Cursor配置(在项目根目录,不在本仓库)
    └── mcp.json           # MCP服务器配置

快速开始

环境准备(Conda或Python虚拟环境均可接受)

# 任选其一

# (A) conda
conda create -n mcp-env python=3.11 -y
conda activate mcp-env
pip install -r requirements.txt

# (B) python venv
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# 在仓库根运行
python server.py
# 如果成功,会“静默挂起”——表示在stdio等待MCP客户端连接

### 在Cursor中注册MCP

重要:`.cursor/mcp.json`要放在你打开的项目根目录(与`.git`同层)。

在项目根目录创建`.cursor/mcp.json`(如果不存在),添加以下配置:

```json
{
  "mcpServers": {
    "cj-mcp": {
      "command": "python",
      "args": ["/home/maxime/ws/my_mcp_server/server.py"],
      "env": {
        "PYTHONPATH": "/home/maxime/ws/my_mcp_server"
      }
    }
  }
}

注意

  • /home/maxime/ws/my_mcp_server/server.py翻译成英文,并替换为你实际路径
  • 如果使用了虚拟环境,command应该指向虚拟环境中的Python,例如:"/path/to/.venv/bin/python"
  • 重启Cursor使配置生效

功能描述

资源

CJ-MCP提供了以下资源,模型可以通过MCP协议访问:

全局资源

  • cj://syntax - Cangjie语法/标准总结

    • 自动聚合resources/global/下所有.md文档
    • 包括Cangjie-C FFI使用总结等全局文档
  • cj://global - 所有全局文档

    • 包括语法、风格指南、公共设计等
    • 支持子目录结构(如libs/std/下的标准库文档

模块资源

  • proj://modules/{module} - 指定模块的所有文档
    • module参数示例:"incremental engine""ui""serialization_deserialization"
    • 自动扫描目录下所有.md文件并聚合
    • 支持中文模块名称(如"incremental engine"

使用示例

获取增量引擎模块文档:proj://modules/incremental engine
获取UI模块文档:proj://modules/ui

工具

summarize_module

为指定模块提供粗略的文档摘要,提取文件顺序中的前几个字符。

参数

  • module (str) - 模块名称
  • max_chars (int,默认值:12000) - 最大字符数

返回:以==== FILE:分隔的文档摘要

提示模板

cj_module_dev

某个模块的开发任务提示模板。

参数

  • module (str) - 模块名称
  • task (str) - 具体任务描述

使用场景:当需要开发或修改模块功能时,使用此提示允许模型:

  1. 自动检索相关的语法文档(从Context7)
  2. 自动获取项目全局约定(从cj://global
  3. 自动获取模块特定文档(从proj://modules/{module}
  4. 生成符合项目规范的代码

示例

module = "incremental engine"
task = "把增量引擎的navigation补齐,帮我进行增量引擎开发"

cj_module_summary

模块设计的概述提示模板。

参数

  • module (str) - 模块名称

返回内容

  • 模块目标和边界
  • 关键类型/类/组件
  • 状态和事件流
  • 与其他模块的依赖关系
  • 已知陷阱和注意事项

使用示例

示例1:使用cj_module_dev提示

在Cursor中可以直接调用提示:

请使用cj_module_dev提示,module = "incremental engine",
task = "把增量引擎的navigation补齐,帮我进行增量引擎开发"

模型将自动:

  1. 读取cj://global获取全局规范
  2. 读取proj://modules/incremental engine获取增量引擎文档
  3. 根据任务生成符合规范的代码或文档

示例2:直接访问资源

模型可以直接请求资源:

请读取cj://syntax了解仓颉语法
请读取proj://modules/ui了解UI模块设计

示例3:使用工具生成组件

请使用gen_cj_component工具生成一个名为MyView的组件

开发指南

添加新的模块文档

  1. resources/modules/创建一个模块目录(支持中文名称)
  2. 将与模块相关的.md文档放入该目录
  3. 文档将被自动处理并聚合到proj://modules/{module}资源中

示例

mkdir -p resources/modules/my_module
# 添加文档
echo "# My Module" > resources/modules/my_module/README.md

添加全局文档

  1. 将文档放入resources/global/目录
  2. 支持子目录结构(如libs/std/
  3. 所有.md文件将被自动处理并聚合到cj://syntaxcj://global资源中

扩展工具

server.py中间添加一个新的@mcp.tool()装饰器函数:

@mcp.tool()
def my_custom_tool(param1: str, param2: int = 10) -> str:
    """
    工具描述。
    """
    # 实现逻辑
    return result

扩展提示模板

server.py中间添加一个新的@mcp.prompt()装饰器函数:

@mcp.prompt()
def my_custom_prompt(context: str) -> str:
    """
    提示模板描述。
    """
    return f"""
    你的提示模板内容...
    [上下文] {context}
    """

依赖解释

Python依赖

主要依赖:

  • mcp - 模型上下文协议服务器框架(FastMCP)

安装

pip install mcp

或者创建requirements.txt

mcp>=0.1.0

然后安装:

pip install -r 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可执行文件:

{
  "command": "/path/to/.venv/bin/python",
  "args": ["/path/to/server.py"]
}

贡献

欢迎提交Issue和Pull Requests!


许可证

[根据实际情况填写]


更新日志

v1.0.0

  • 初始版本
  • 支持全局和模块资源
  • 提供组件生成工具
  • 提供模块开发提示模板