ACDC(代理内容发现伴侣)MCP服务器
 ](https://github.com/sha1n/mcp-acdc-server-py/actions/workflows/docker.yml) ](https://hub.docker.com/r/sha1n/mcp-acdc-server-py)   
MCP(模型上下文协议)服务器,为Claude Code、Gemini等AI代理提供资源和搜索工具 CLI等。
这是什么?
此服务器使AI助手能够:
- 访问任何标记文档
- 使用全文搜索搜索所有内容
- 根据您的组织知识提供情境感知响应
服务器提供:
- 资源:带有frontmatter的Markdown文档(文档、标准、政策、指南、知识库、,
等等)
- 工具:全文搜索和资源内容检索:
- 搜索:所有资源的全文搜索由 突进 - 阅读:获取任何资源的完整降价内容以获取详细上下文
特性
- 自动发现:从markdown文件中自动发现的资源-从文件路径导出的URI
- 全文搜索:支持BM25排名的快速内存搜索
通过 突进
- 苏格兰和南方能源公司运输:通过服务器发送事件提供远程服务器支持
- 类型安全:在整个代码库中进行严格的类型检查
- Docker就绪:具有内容分离的生产部署模式
- 可配置的:通过环境变量调整内容目录、搜索参数和服务器设置
备注:搜索索引保存在RAM中以获得最佳性能。服务器容量受到可用内存的限制。
快速开始
先决条件
- Python 3.13 或更高
- 诗歌 (安装说明)
安装
# Install dependencies
make install
# Run tests to verify setup
make test
# Start the server
make run与AI助手集成
克劳德代码
启动服务器:
make run # Starts on http://0.0.0.0:8000添加到Claude CLI:
claude mcp add [--scope ] --transport sse mcp-acdc http://:
/sse或手动编辑 ~/.claude/mcp_servers.json:
{
"mcp-acdc": {
"url": "http://:
/sse",
"transport": "sse"
}
}使用服务器
配置后,AI助手可以:
- 搜索资源:“查找有关X的信息”
- 访问内容:“阅读资源acdc://general/getting-started"
- 上下文检索:AI助手自动使用
read当他们需要了解特定的指导方针或文档时,可以使用该工具。
创建您的第一个内容
要将MCP Acdc与您自己的文档一起使用,请创建一个具有以下结构的内容目录:
1.创建目录结构
mkdir -p content/mcp-resources2.创建服务器元数据
创建 content/mcp-metadata.yaml 具有服务器和工具定义:
server:
name: "My MCP Acdc Server"
version: "1.0.0"
tools:
search:
name: "search"
description: "Search across all resources"
read:
name: "read"
description: "Read the full content of a specified resource"3.添加您的第一个资源
在中创建markdown文件 content/mcp-resources/ 使用YAML frontmatter:
例子: content/mcp-resources/getting-started.md
---
name: "Getting Started"
description: "Introduction to our development practices"
---
# Getting Started
Your documentation content goes here in markdown format.4.组织你的内容
创建子目录以按主题组织资源:
content/
├── mcp-metadata.yaml
└── mcp-resources/
├── general/
│ └── getting-started.md
├── coding-standards/
│ ├── python.md
│ └── javascript.md
└── processes/
└── code-review.md5.启动服务器
export ACDC_MCP_CONTENT_DIR=./content
make run或者使用具有预配置内容的部署示例之一:
- -包括样本内容
- Kubernetes示例 -生产部署
配置
使用环境变量配置服务器:
内容配置
ACDC_MCP_CONTENT_DIR(默认值:./content)
- 包含内容的目录的路径 - 必须包含 mcp-resources/ 带有markdown文件的子目录 - 对于Docker部署,请在此位置挂载您的内容
搜索引擎优化
ACDC_MCP_SEARCH_MAX_RESULTS(默认值:10)
- 要返回的最大搜索结果数 - 增加以获得更全面的搜索结果
ACDC_MCP_SEARCH_HEAP_SIZE_MB(默认值:50,最小值:15)
- 分配给Tantivy搜索引擎的内存(MB) - 增加文档集合数量或提高性能 - 记住:索引完全保存在RAM中
服务器设置
ACDC_MCP_HOST(默认值:0.0.0.0)
- 服务器主机地址
ACDC_MCP_PORT(默认值:8000)
- 服务器端口
认证
服务器支持多种身份验证方法:
ACDC_MCP_AUTH_TYPE(默认值:none)
- 身份验证类型: none, basic,或 apikey
HTTP基本认证
ACDC_MCP_AUTH_BASIC_USERNAME
- 基本身份验证的用户名
ACDC_MCP_AUTH_BASIC_PASSWORD
- 基本身份验证密码
API密钥验证
ACDC_MCP_AUTH_API_KEYS
- API有效密钥的逗号分隔列表 - 客户必须通过以下方式提供密钥 X-API-Key 头球
配置示例
# Set environment variables
export ACDC_MCP_CONTENT_DIR=/path/to/content
export ACDC_MCP_SEARCH_MAX_RESULTS=20
export ACDC_MCP_SEARCH_HEAP_SIZE_MB=100
export ACDC_MCP_AUTH_TYPE=apikey
export ACDC_MCP_AUTH_API_KEYS=key1,key2
# Run the server
make run或者使用Docker:
docker run -p 8000:8000 \
-e ACDC_MCP_CONTENT_DIR=/content \
-e ACDC_MCP_SEARCH_HEAP_SIZE_MB=100 \
-v /path/to/content:/content \
sha1n/mcp-acdc-server-py例子
部署示例:
- **** -使用Docker Compose进行部署
- Kubernetes Helm图表 -Kubernetes生产部署
- 示例概述 -模式文档和设计原理
运作原理
服务器遵循一个简单的工作流程:
- 初创公司:从以下位置查找标记文件
/mcp-resources/目录 - 索引:使用Tantivy构建内存中的搜索索引(BM25排名)
- 服务:通过SSE传输上的MCP协议公开资源和搜索工具
健康检查
服务器在以下位置提供健康检查端点 /health 这允许像Kubernetes这样的编排平台 要监视服务器的状态:
- 端点:
/health - 方法:
GET - 回复:
- 200 OK:服务器已完全运行,并已完成资源索引 - 503 Service Unavailable:服务器正在启动并索引内容
此行为是专门为Kubernetes设计的 readinessProbe 配置,确保流量 在搜索索引完全构建之前,不会路由到pod。
内容与应用程序分离-通过 ACDC_MCP_CONTENT_DIR 环境 用于Docker部署的变量或卷挂载。
