检索增强生成服务器

一个基于Contextual AI的模型上下文协议(MCP)服务器,提供检索增强生成(RAG)能力,支持与多种MCP客户端集成,适用于技术文档查询和智能检索场景。

  • by ContextualAI
  • Python
  • 本地部署
  • 20 星标
  • 更新于
在 GitHub 查看 ContextualAI/contextual-mcp-server

使用说明

上下文MCP服务器

一种模型上下文协议(MCP)服务器,使用上下文AI提供RAG(检索增强生成)功能。该服务器与各种MCP客户端集成。它提供了灵活性,您可以决定在服务器中提供什么功能。在本自述文件中,我们将展示与CursorIDE和Claude Desktop的集成。

Contextual AI现在在平台内提供托管服务器,网址为:https://mcp.app.contextual.ai/mcp/
连接到服务器后,您可以使用平台MCP服务器提供的工具,如查询。
有关完整的演练,请查看MCP 用户指南.

概述

MCP服务器充当AI接口(Cursor IDE或Claude Desktop)和专用上下文AI代理之间的桥梁。它能够:

  1. 查询处理:将您的特定领域问题交给专门的上下文AI代理
  2. 智能检索:在您的知识库中搜索全面的信息
  3. 上下文感知响应:生成以下答案:
  • 基于源文件
  • 包括引用和归因
  • 保持对话上下文

集成流程

Cursor/Claude Desktop → MCP Server → Contextual AI RAG Agent
        ↑                  ↓             ↓                         
        └──────────────────┴─────────────┴─────────────── Response with citations

先决条件

  • Python 3.10或更高版本
  • 光标IDE和/或克劳德桌面
  • 上下文AI API密钥
  • MCP兼容环境

安装

  1. 克隆存储库:
git clone https://github.com/ContextualAI/contextual-mcp-server.git
cd contextual-mcp-server
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows, use `.venv\Scripts\activate`
  1. 安装依赖项:
pip install -e .

配置

配置MCP服务器

服务器需要修改设置或使用。 例如,应该为您的RAG代理定制一个合适的docstring来定制single_agent服务器。

查询工具的文档字符串至关重要,因为它有助于MCP客户端了解何时将问题发送给RAG代理。让它具体到你的知识领域。以下是一个示例:

A research tool focused on financial data on the largest US firms

或

A research tool focused on technical documents for Omaha semiconductors

服务器还需要RAG代理进行以下设置:

  • API_KEY:您的上下文AI API密钥
  • AGENT_ID:您的上下文AI代理ID

如果您想将这些文件存储在 .env 你可以这样指定它们:

cat > .env << EOF
API_KEY=key...
AGENT_ID=...
EOF

该仓库还包含更多用于多代理系统的高级MPC服务器或 文件代理人.

AI接口集成

此MCP服务器可以与各种客户端集成。要与Cursor IDE或Claude Desktop一起使用,请在适当的位置创建或修改MCP配置文件:

  1. 首先,找到通往你的道路 uv 安装:
UV_PATH=$(which uv)
echo $UV_PATH
# Example output: /Users/username/miniconda3/bin/uv
  1. 使用步骤1中的完整路径创建配置文件:
cat > mcp.json << EOF
{
 "mcpServers": {
   "ContextualAI-TechDocs": {
     "command": "$UV_PATH", # make sure this is set properly
     "args": [
       "--directory",
       "\${workspaceFolder}",  # Will be replaced with your project path
       "run",
       "multi-agent/server.py"
     ]
   }
 }
}
EOF
  1. 移动到正确的文件夹位置,请参阅下面的选项:
mkdir -p .cursor/
mv mcp.json .cursor/

配置位置:

  • 对于光标:
  • 项目具体: .cursor/mcp.json 在您的项目目录中
  • 全球的: ~/.cursor/mcp.json 用于全系统访问
  • 对于Claude Desktop:
  • 在相应的Claude Desktop配置目录中使用相同的配置文件格式

环境设置

此项目使用 uv 用于依赖管理,它提供了更快、更可靠的Python包安装。

用法

服务器使用python SDK提供上下文AI RAG功能,可以从MCP客户端(如Cursor IDE和Claude Desktop)访问各种命令。 当前的服务器侧重于使用Contextual AI python SDK中的query命令,但是您可以扩展它以支持其他功能,例如列出所有代理、更新检索设置、更新提示、提取检索或下载指标。

示例用法

# In Cursor, you might ask:
"Show me the code for initiating the RF345 microchip?"

# The MCP client will:
1. Determine if this should be routed to the MCP Server

# Then the MCP server will:
1. Route the query to the Contextual AI agent
2. Retrieve relevant documentation
3. Generate a response with specific citations
4. Return the formatted answer to Cursor

关键利益

  1. 准确反应:所有答案都基于您的文档
  2. 消息来源:每个回复都包括对源文件的引用
  3. 情境感知:系统维护后续问题的对话上下文
  4. 实时更新:响应反映了数据存储中的最新文档

发展

修改服务器

要添加新功能,请执行以下操作:

  1. 通过创建附加功能来添加新工具 @mcp.tool()
  2. 使用Python类型提示定义工具的参数
  3. 提供一个清晰的文档字符串,描述工具的功能

例子:

@mcp.tool()
def new_tool(param: str) -> str:
   """Description of what the tool does"""
   # Implementation
   return result

局限性

  • 服务器在本地运行,可能无法在远程开发环境中工作
  • 工具响应受上下文AI API限制和配额的约束
  • 目前仅支持stdio传输模式

有关上下文AI的所有功能,请查看 官方文件.