项目简介 Ctxfy是基于Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型(LLM)客户端提供标准化、安全且可扩展的上下文信息和工具调用能力。它通过定义上下文层、集成RAG(检索增强生成)和自动化提示生成,帮助开发者更高效地构建AI应用。

主要功能点

  • 标准化上下文层: 提供5个结构化层,确保AI交互的一致性。
  • PRP自动化: 自动生成产品需求提示,简化开发流程。
  • MCP协议兼容: 通过HTTP协议与LLM进行原生集成。
  • 动态RAG集成: 实时更新上下文,增强知识检索能力。
  • 企业级安全: 内置API密钥认证和审计跟踪,确保数据安全。
  • API密钥管理: 提供工具用于创建和管理API密钥。
  • 监控与健康检查: 提供'/health'和'/metrics'接口,方便系统状态监控。

安装步骤

  1. 前提条件: 确保您的系统已安装Python 3.13+、Poetry(Python包管理器)和Git。
  2. 克隆仓库: 打开终端,执行以下命令克隆项目仓库:
    git clone https://github.com/thorgus-services/ctxfy.git
    cd ctxfy
  3. 安装依赖: 使用Poetry安装项目依赖并激活虚拟环境:
    poetry install
    poetry shell
  4. 运行服务器: 在激活的Poetry环境中,执行以下命令启动Ctxfy服务器:
    python -m src.app.main
    服务器默认将在 'http://127.0.0.1:8000/mcp' 运行。
  5. Docker部署(可选): 如果您 prefer Docker,可以使用以下命令构建并运行:
    docker-compose up --build
    # 或者
    docker build -t ctxfy .
    docker run -p 8000:8000 ctxfy

服务器配置 MCP客户端需要配置Ctxfy服务器的启动信息,以便建立通信。以下是配置示例:

{
  "server_name": "ctxfy-mcp-server",
  "command": "python",
  "args": [
    "-m",
    "src.app.main"
  ],
  "env": {
    "SERVER_HOST": "127.0.0.1",
    "SERVER_PORT": "8000",
    "MCP_TRANSPORT": "http"
  },
  "cwd": "/path/to/your/ctxfy/repository",
  "description": "Ctxfy MCP服务器的启动配置,通过HTTP协议提供上下文服务。",
  "server_url": "http://127.0.0.1:8000/mcp"
}

配置参数说明:

  • 'server_name': 服务器的唯一标识名称。
  • 'command': 启动服务器的可执行文件或脚本。
  • 'args': 传递给启动命令的参数列表。
  • 'env': 启动服务器时设置的环境变量,例如:
    • 'SERVER_HOST': 服务器监听的IP地址。
    • 'SERVER_PORT': 服务器监听的端口。
    • 'MCP_TRANSPORT': 使用的传输协议,默认为'http'。
  • 'cwd': 服务器启动的工作目录,应设置为Ctxfy仓库的根目录。
  • 'description': 服务器的简要描述。
  • 'server_url': MCP服务器的访问地址。

基本使用方法 Ctxfy服务器启动后,您的LLM客户端可以通过MCP协议调用其提供的工具。例如,您可以调用'create-api-key'工具来生成新的API密钥:

{
  "name": "create-api-key",
  "arguments": {
    "user_id": "your-user-id",
    "scope": "read",  // 可选值:"read", "write", "admin"
    "ttl_hours": 24   // 可选,API密钥的有效期(小时)
  }
}

您也可以调用'generate_context_stack'工具来生成上下文堆栈:

{
  "name": "generate_context_stack",
  "arguments": {
    "feature_description": "User authentication feature",
    "target_technologies": ["Python", "MCP"],
    "custom_rules": []
  }
}

在每次请求中,请务必包含通过'create-api-key'工具生成的API密钥,放置在HTTP请求头中,例如: 'Authorization: Bearer <您的API密钥>' 或 'X-API-Key: <您的API密钥>'

信息

分类

开发者工具