1.0.0 • Published 5 months ago

schema-page-rag v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Schema Page RAG Server

MCP 服务,能够解答与 Schema Page、Schema Form、Schema Chart 相关的组件用法和代码编写问题,将用户输入转发到 Langflow 处理,并将结果返回给 Cursor Agent。

功能特点

  • 通过 MCP 协议与 Cursor 集成
  • 专注于解答 Schema 相关组件问题
  • 支持多种 Schema 类型:Form、Page、Chart 等
  • 提供组件使用示例和代码片段
  • 支持自定义 Flow ID
  • 友好的错误处理

安装方法

方法一:通过 NPM 安装(推荐)

npm install -g schema-page-rag

方法二:手动安装

  1. 克隆仓库
  2. 安装依赖:npm install
  3. 构建项目:npm run build

配置说明

在 Cursor 中配置

将以下配置添加到.cursor/mcp.json文件中:

{
  "mcpServers": {
    "langflow-rag": {
      "command": "npx",
      "args": ["schema-page-rag"]
    }
  }
}

使用示例

在 Cursor 中,你可以通过以下方式调用 schema-page-rag 工具:

<function_calls>
<invoke name="mcp__langflow_rag">
<parameter name="prompt">如何使用OKSchemaForm构建一个包含级联选择器的表单?</parameter>
<parameter name="flowId">可选的Flow ID</parameter>
</invoke>
</function_calls>

触发条件

当用户查询包含以下关键词时,将触发此服务:

  • schema-page、schema-form、schema-chart
  • schemapage、schemaform、schemachart
  • okschemaform、okschemapage、okschemachart
  • 表单 schema、schema 表单、json schema、formschema
  • 动态表单、表单配置、表单组件
  • 图表 schema、图表配置
  • eforminputtype

参数说明

  • prompt: 必填,用户的问题内容
  • flowId: 可选,Langflow 的 Flow ID,不提供则使用默认值

注意事项

  • 确保 Langflow 服务已启动并能够正常访问
  • 默认连接到http://127.0.0.1:7860/api/v1/run
  • 如需修改默认的 Langflow API 地址,请编辑源码中的配置

单元测试

项目包含全面的单元测试,可以通过以下命令运行测试:

# 运行所有测试
npm test

# 监视模式运行测试
npm run test:watch

# 运行测试并生成覆盖率报告
npm run test:coverage

测试覆盖了以下主要功能:

  • 关键词匹配功能 - 验证能正确识别 Schema 相关查询
  • 环境变量处理 - 测试额外关键词和 tweaks 配置的正确加载
  • API 调用逻辑 - 测试与 Langflow API 的交互,包括错误处理

添加新测试

src/__tests__目录下添加新的测试文件,保持命名格式为*.test.ts

使用 Jest 的断言和模拟功能测试新功能,确保所有重要的业务逻辑都有相应的测试覆盖。