Clarion 知识库 - MCP 服务器
通过Claude AI进行Clarion编程文档的语义搜索

在Claude Code或Claude Desktop中,使用自然语言查询即时搜索21份Clarion文档手册。该功能由语义搜索技术驱动,涵盖21,747个已索引的文档片段。
______________________________________________________________________
概述
Clarion 知识库 这是一个模型上下文协议(MCP)服务器,它能让您在Claude AI中轻松获取完整的Clarion编程语言文档。无需手动翻阅PDF手册,只需用自然语言向Claude提出关于Clarion编程的问题,即可立即获得相关且带有来源引用的答案。
这对Clarion开发者为何重要
- 即时文档访问几秒钟内搜索到21份PDF手册(语言参考、ABC库、模板、集成开发环境等)
- 自然语言查询提出像“我如何创建一个浏览(功能/页面)?”这样的问题,而不是进行关键词搜索
- 融入您的工作流程与Claude Code和Claude Desktop无缝集成
- 随时可用通过 Docker 本地运行 - 查找文档时无需依赖云端
- 语义理解即使您不知道确切术语,也能找到相关内容
主要特点
- 21,747个已索引数据块 - 全面覆盖Clarion文档
- 语义搜索 - 理解意图,而不仅仅是关键词
- MCP协议集成 - 原生Claude代码和Claude桌面版支持
- 基于Docker的 - 部署简单,无需设置Python环境
- Qdrant向量数据库 - 快速、高效的相似度搜索
- 来源引用 - 每个结果都包含文档来源和位置
- 筛选搜索 - 可选地在特定文档类别中搜索
______________________________________________________________________
快速安装(2分钟)
最简单的安装方法是使用Claude代码插件系统:
# Step 1: Add the marketplace
/plugin marketplace add https://github.com/peterparker57/clarion-knowledge-base.git
# Step 2: Install the plugin
/plugin install clarion-knowledge-base
# Step 3: Run the setup command (this downloads and configures everything)
/clarion-setup要求: 必须安装并运行 Docker Desktop。
\setup\ 命令将:
- 下载并配置Docker容器
- 设置Qdrant向量数据库(约76 MB)
- 导入21,747个文档块
- 验证所有内容是否正常工作
设置完成后, 重启Claude代码 你可以使用类似这样的斜杠命令 /clarion-search 或者简单地向克劳德询问有关Clarion编程的问题!
______________________________________________________________________
新增:独立网页应用(无需Claude!)
想在不使用Claude的情况下使用Clarion知识库吗? 使用我们的独立网络应用程序,并与您自己的大型语言模型(LLM)提供商(如DeepSeek、OpenAI、Claude、Gemini、Grok或免费的本地Ollama)配合使用。
快速入门(预构建的Docker镜像):
# Create and enter a folder for Clarion KB
mkdir ~/clarion-kb
cd ~/clarion-kb
# Download deployment file
curl -O https://raw.githubusercontent.com/peterparker57/clarion-knowledge-base/main/docker-compose-public.yml
# Start the app (first time downloads ~12GB)
docker-compose -f docker-compose-public.yml up -d
# Open browser
open http://localhost:8080就是这么简单! 无需构建,无需Git克隆 - 直接从Docker Hub拉取并运行。
重要提示: 在同一个文件夹中运行所有命令(该 clarion-kb (你创建的文件夹)。
自定义端口配置
端口8080已被占用?没问题!
选项1:环境变量 (最容易的)
CLARION_WEB_PORT=8081 docker-compose -f docker-compose-public.yml up -d
# Access at http://localhost:8081选项2:编辑文件 编辑 docker-compose-public.yml 以及改变:
ports:
- "8080:8080" # Change first number: "8081:8080"常见的备用端口: 8081,8082,3000,5000,9090
首次启动时间
⚠️ 重要提示: 首次启动时,服务可能需要2-3分钟才能正常运行,同时:
- Qdrant 从快照中恢复了 21,747 个文档块(约 90 秒)
- 网页应用加载句子变换器嵌入模型(约80MB)
- Docker执行健康检查以确保服务已准备就绪
要有耐心! 一旦Qdrant状态正常,容器将自动启动。
检查启动进度:
docker-compose -f docker-compose-public.yml logs -f等待: "Uvicorn running on http://0.0.0.0:8080" 在访问网页界面之前。
特点:
- 🌐(表示互联网或全球网络的符号,可译为“互联网”或“全球网络”,具体根据语境而定) 基于浏览器的界面 - 从任何设备访问
- 🔑 表示“钥匙”或“密码”。 多个大型语言模型(LLM)提供商DeepSeek(0.35美元/100万次)、OpenAI、Claude、Gemini、Grok或Ollama(免费)
- 💰(货币符号,中文中通常直接用“钱”或具体货币名称如“人民币”等表示,但在此处作为符号保留原样) 实时定价 - 在查询前查看每个模型的成本
- 📊 表格/数据图表 3种查询模式增强模式(文档+AI),严格模式(仅文档),聊天模式(仅AI - 快速)
- 📱 移动友好 - 适用于手机/平板电脑
- 📚 书籍 相同数据21,747个文档片段作为MCP模式
- 🎯(目标/瞄准) 来源引用 - 每个答案都包含文档来源
何时使用每种模式:
| 特性 | MCP 模式 | Web 应用 |
|---|---|---|
| 最适合 | Claude代码/桌面用户 | 所有用户 |
| 大语言模型 (LLM) | Claude(Anthropic 公司出品) | 任意提供商(由您选择) |
| 接口 | Claude 聊天界面 | 网络浏览器 |
| 费用 | Claude 订阅 | 按使用量付费或免费(Ollama) |
| 手机 | ❌ 否 | ✅ 是 |
📖 完整文档: 见 README-WEBAPP.md 翻译为中文是:“README-网络应用程序.md” 如需完整指南、大型语言模型(LLM)提供商设置及故障排除方法,请参阅。
🐳 Docker Hub(中文可译为“Docker 中心”或保持原英文名,根据语境选择): ClarionLive/Clarion知识库Web应用
______________________________________________________________________
备选方案:手动安装(MCP模式)
如果您更喜欢手动安装或需要更多控制权,可以通过安装脚本进行安装:
# Step 1: Clone the repository
git clone https://github.com/peterparker57/clarion-knowledge-base
cd clarion-knowledge-base
# Step 2: Run the installer
./install.sh # Mac/Linux
# or
install.bat # Windows
# Step 3: Restart Claude Code or Claude Desktop
# The Clarion Knowledge Base will now be available as an MCP server安装过程中会发生什么:
- 检查 Docker 是否已安装并正在运行
- 下载预构建的向量数据库(压缩后约76 MB)
- 启动Docker容器(Qdrant + MCP服务器)
- 自动配置Claude代码/桌面
- 验证MCP服务器是否正常运行
注: 安装程序将提示您选择安装Claude Code、Claude Desktop或两者都安装。
看 PLUGIN.md(文件名,可译为“插件说明文档”或保持原样,具体取决于上下文) 如需详细的插件文档或 INSTALLATION.md 翻译为中文是:“安装说明.md” 或 “安装指南.md” 如需手动安装详情,请参阅。
______________________________________________________________________
先决条件
在安装之前,请确保您已具备:
- Docker Desktop(桌面版) - 在此下载
- 必须已安装并正在运行 - 至少需要2GB可用磁盘空间
- 克劳德·科德 或者 Claude Desktop(桌面版Claude) - 获取Claude
- 支持任一或两者客户端
- 互联网连接 - 初始数据库下载所需(约76 MB)
- 系统要求:
- Windows 10/11、macOS 10.15+ 或 Linux - 最低配置4GB内存(推荐8GB)
______________________________________________________________________
安装详情
推荐: 使用上述插件安装方法(/plugin add peterparker57/clarion-knowledge-base)。
以下部分用于手动配置或故障排除。
为克劳德·科德(注:此处“Claude Code”可能是一个特定的人名或项目名,根据上下文可能有所不同,这里直译为“克劳德·科德”,具体含义需结合实际情境理解)
安装程序(或插件)会自动配置 Claude Code,但如果您需要手动配置:
配置文件位置:
- Windows:
%USERPROFILE%\.claude\claude_code_config.json - macOS:(译文保持原样,因为“macOS”是专有名词,通常不翻译)
~/.claude/claude_code_config.json - Linux:
~/.config/claude-code/config.json
示例配置:
{
"mcpServers": {
"clarion-knowledge-base": {
"command": "docker",
"args": ["exec", "-i", "clarion-mcp-server", "python", "/app/src/mcp_server.py"]
}
}
}验证安装:
- 完全重启Claude代码
- 开启一个新的聊天或项目
- 类型
/mcp查看可用服务器 - 在列表中查找“clarion-knowledge-base”
- 尝试一个测试查询:“如何在Clarion中定义一个队列?”
对于Claude Desktop
安装程序会自动配置 Claude Desktop,但如需手动配置:
配置文件位置:
- Windows(系统/平台):
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
示例配置:
{
"mcpServers": {
"clarion-knowledge-base": {
"command": "docker",
"args": ["exec", "-i", "clarion-mcp-server", "python", "/app/src/mcp_server.py"]
}
}
}验证安装:
- 完全退出并重新启动 Claude Desktop
- 在聊天界面中查找工具图标(🔧)
- 点击查看可用工具
- “search_docs”应来自clarion知识库并显示出来
- 尝试提问:“解释Clarion中的FILE驱动程序”
______________________________________________________________________
使用示例
安装完成后,您可以在Claude中自然地查询Clarion文档:
示例查询
基本语言问题:
"How do I create a browse in Clarion?"
"What's the syntax for a LOOP statement?"
"Explain the difference between GROUP and QUEUE"库和组件问题:
"How do I use the ABC library for file handling?"
"What are the methods available in the BrowseClass?"
"Show me examples of the Internet Builder classes"模板和集成开发环境(IDE)问题:
"What are embed points in Clarion templates?"
"How do I create a custom template?"
"Explain the Application Generator options"数据库与高级主题:
"How do I connect to a SQL database in Clarion?"
"What's the FILE driver architecture?"
"How do I implement XML processing?"示例输出
当你提问时,你会收到:
# Search Results for: "How do I define a QUEUE in Clarion?"
**Found 5 relevant chunks**
## Result 1: Language Reference
**Score:** 0.8542 | **Type:** core_language | **Chunk:** 42/156
**Content:**队列结构
队列是一个驻留在内存中的表,具有自动内存管理功能。。。 \[带正确格式的完整文档摘录\]
## Result 2: Programming Guide
**Score:** 0.7891 | **Type:** core_language | **Chunk:** 89/201
**Content:**\[附加的相关内容……\]
---
*Retrieved from Clarion Knowledge Base (Vector Store: 5 chunks)*有效查询的技巧
- 要具体“我如何对队列进行排序?”vs. “队列排序”
- 使用自然语言像向同事提问一样来撰写问题
- 包含上下文“在模板中,我如何……”有助于过滤结果
- 尝试多种表述方式如果结果不理想,请重新表述你的问题
- 使用过滤器为特定搜索指定 doc_type(参见高级用法)
______________________________________________________________________
建筑
系统概述
┌─────────────────────────────────────────────────────────────┐
│ Claude AI (Code/Desktop) │
│ │
│ User asks: "How do I create a browse in Clarion?" │
└────────────────────────┬─────────────────────────────────────┘
│ MCP Protocol
▼
┌─────────────────────────────────────────────────────────────┐
│ Docker Container: clarion-mcp-server │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ MCP Server (Python) │ │
│ │ - Receives query │ │
│ │ - Generates embedding (768-dim vector) │ │
│ │ - Searches vector database │ │
│ │ - Formats results with citations │ │
│ └────────────────────┬─────────────────────────────────┘ │
└─────────────────────────┼─────────────────────────────────────┘
│ gRPC/HTTP
▼
┌─────────────────────────────────────────────────────────────┐
│ Docker Container: clarion-qdrant │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Qdrant Vector Database │ │
│ │ - 21,747 documentation chunks │ │
│ │ - 768-dimensional embeddings │ │
│ │ - < 100ms search latency │ │
│ │ - Persistent storage (Docker volume) │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘组件
1. Qdrant 向量数据库
- 存储21,747个文档片段,每个片段作为768维的嵌入表示
- 用途
all-MiniLM-L6-v2句子变换模型 - 通过Docker卷实现持久化存储(655 MB)
- 端口:6333(REST API)、6334(gRPC)
2. MCP 服务器(Python)
- 实现了用于Claude集成的模型上下文协议
- 处理查询嵌入生成
- 执行向量相似性搜索
- 以包含元数据和引用的形式展示结果
- 按需运行,通过
docker exec(没有持久进程)
3. Docker Compose 编排
- 将两个服务作为一个整体进行管理
- 处理容器之间的网络通信
- 提供健康检查和自动重启功能
- 隔离依赖项(避免Python环境冲突)
信息流(或沟通流程)
- 用户查询 → Claude Code/桌面接收自然语言问题
- MCP 呼叫 → 克劳德召唤
search_docs通过MCP协议使用的工具 - 嵌入 MCP服务器使用句子变换器生成查询嵌入
- 向量搜索 Qdrant 通过余弦相似度查找相似的文档片段
- 结果 → MCP服务器以包含分数、来源和内容的格式呈现结果
- 回应 → 克劳德接收结构化结果并展示给用户
______________________________________________________________________
故障排除
常见问题
Docker 未运行
症状: 安装失败,提示“无法连接到 Docker 守护进程”
解决方案:
# Start Docker Desktop application
# Wait for it to fully start (whale icon in system tray)
# Retry installation端口冲突(6333,6334)
症状: “端口已被使用”错误
解决方案:
# Check what's using the ports
# Windows:
netstat -ano | findstr :6333
# Mac/Linux:
lsof -i :6333
# Stop conflicting service or change ports in docker-compose.ymlMCP 服务器无响应
症状: Claude 显示“MCP 服务器超时”或无响应
解决方案:
# Check if containers are running
docker ps
# Should see both:
# - clarion-qdrant
# - clarion-mcp-server
# If not running:
cd /path/to/clarion-knowledge-base
docker-compose up -d
# Check logs
docker logs clarion-mcp-server
docker logs clarion-qdrant未找到配置文件
症状: “无法找到Claude配置文件”
解决方案:
- 验证Claude Code/Desktop是否已安装
- 至少运行一次 Claude 以创建配置目录
- 根据上述示例手动创建配置文件
- 确保JSON语法有效(使用JSON验证器)
搜索未返回结果
症状: 所有查询均返回“未找到结果”
解决方案:
# Check if vector database is populated
docker exec -it clarion-qdrant curl http://localhost:6333/collections/clarion_docs
# Should show points_count: 21747
# If not, database may need re-import检查日志
查看MCP服务器日志:
docker logs clarion-mcp-server
# Add -f to follow logs in real-time
docker logs -f clarion-mcp-server查看Qdrant日志:
docker logs clarion-qdrant查看所有日志:
docker-compose logs重启服务
重启两个服务:
cd /path/to/clarion-knowledge-base
docker-compose restart重启单个服务:
docker restart clarion-mcp-server
# or
docker restart clarion-qdrant完全重启(停止并重新启动):
docker-compose down
docker-compose up -d______________________________________________________________________
高级用法
更新向量数据库
如果您想从头开始重建向量数据库(面向开发者):
# 1. Ensure you have source PDFs in Documents/
# 2. Activate Python virtual environment
python -m venv .venv
source .venv/bin/activate # Mac/Linux
# or
.venv\Scripts\activate # Windows
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run processing pipeline
python src/pipeline_v3.py --recreate
# 5. Restart Docker services
docker-compose restart重建容器
强制重建Docker镜像:
# Rebuild without cache
docker-compose build --no-cache
# Restart with new images
docker-compose up -d --force-recreate环境变量
通过环境变量自定义行为 docker-compose.yml:
environment:
- QDRANT_HOST=qdrant # Qdrant container hostname
- QDRANT_PORT=6333 # Qdrant REST API port
- COLLECTION_NAME=clarion_docs # Vector collection name开发环境设置
对于Docker之外的本地开发:
# 1. Clone repository
git clone https://github.com/peterparker57/clarion-knowledge-base
cd clarion-knowledge-base
# 2. Create virtual environment
python -m venv .venv
source .venv/bin/activate # Mac/Linux
.venv\Scripts\activate # Windows
# 3. Install dependencies
pip install -r requirements.txt
# 4. Start Qdrant only
docker-compose up -d qdrant
# 5. Run MCP server locally (for testing)
python src/mcp_server.py
# 6. Configure Claude to use local Python instead of Docker
# Update config to point to your local Python interpreter______________________________________________________________________
技术细节
技术栈
- 语言: Python 3.13及以上版本
- 向量数据库: Qdrant(最新版)
- 嵌入模型: sentence-transformers/all-MiniLM-L6-v2(中文可译为“句子变换器/全MiniLM-L6-v2模型”,但通常直接保留原名以指代特定模型)
- 尺寸:768 - 模型大小:约80 MB - 推断:基于CPU,每次查询约50毫秒
- MCP协议: 版本 1.17.0
- PDF处理: PyMuPDF4LLM(用于开发者重建数据库)
- 集装箱化: Docker 与 Docker Compose
数据库统计信息
- 总块数: 二万一千七百四十七
- 原始凭证: 21份Clarion PDF手册
- 平均块大小: 574个字符
- 存储容量:
- 压缩后(下载):76 MB - 未压缩(Docker 卷):655 MB
- 搜索性能: 典型查询时间\<100毫秒
文档类别
向量数据库包含以下文档类型:
- 核心语言 - 语言参考、编程指南、学习Clarion
- 图书馆 - ABC图书馆参考、互联网构建器、商业数学库
- 开发理念 - IDE 参考手册、用户指南、入门指南
- 模板 - 模板指南,模板语言参考
- 专门的;专业的 - 文件驱动程序、XML、报表编写器、应用程序代理
过滤搜索示例
使用 doc_type 搜索特定类别的参数:
# In Claude, you can specify:
search_docs(
query="How do I handle file errors?",
doc_type="core_language",
max_results=3,
min_score=0.5
)______________________________________________________________________
文档
完整文档
仓库中提供了完整的HTML文档:
- 本地: 开放
documentation/index.html在您的浏览器中 - 包括: 详细架构、API参考、开发指南
外部资源
- MCP协议: 模型上下文协议文档
- Qdrant 文档: qdrant.tech/文档(或 qdrant.tech/文档说明)
- Docker 文档:
- 克劳德AI: claude.ai(可译为“克劳德人工智能”或直接保留原名,根据上下文决定是否需要具体翻译)
______________________________________________________________________
做出贡献
这个项目旨在 Clarion 开发人员 谁想立即访问Claude AI内的文档。
未来的改进方向
我们正在考虑的潜在改进:
- 支持自定义Clarion文档(贵公司的文档)
- 与Clarion社区论坛和知识库的集成
- 增强的元数据(代码示例、特定版本的文档)
- 多语言支持
- 用于概念间关系映射的GraphRAG
欢迎反馈
发现了一个漏洞?有建议吗?请:
- 检查现有的GitHub问题
- 提出一个包含详细信息的新问题
- 包含日志和复现步骤
- 适当标注(错误、增强、文档)
注: 这是一个社区工具。回复时间可能会有所不同。
______________________________________________________________________
许可证与致谢
许可证
这个项目遵循以下许可协议 麻省理工学院许可证(MIT License) - 详见LICENSE文件。
重要提示: 这个工具处理的是由(某版权方)版权所有并由Clarion编写的文档 SoftVelocity 股份有限公司。 该向量数据库源自官方的Clarion文档PDF。此工具旨在用于 个人和教育用途 由获得授权的 Clarion 开发者提供。本项目不重新分发原始的 PDF 文档。
Clarion 文档
所有文档内容均受版权保护 SoftVelocity股份有限公司。 并且在合理使用范围内用于个人参考目的。此工具并不替代官方文档,而是提供了增强的搜索功能。
致谢
这个项目建立在令人惊叹的开源工具之上:
- Claude AI与MCP协议 - Anthropic(公司名,可译为“安萨提克”或直接使用原名,根据上下文决定是否需要具体翻译) 对于模型上下文协议
- Qdrant(注:Qdrant是一个向量数据库,此处直接保留原名,若需具体描述,可译为“Qdrant向量数据库”或根据上下文具体翻译) - qdrant.tech(注:此域名直接翻译并无实际意义,通常作为网址或项目名称保留原样,若需描述其可能代表的内容,可译为“Qdrant技术网站”或根据具体上下文进行意译。) 用于向量数据库引擎
- 句子变换模型(或句子转换器) - sbert.net(可直接保留原名,若需解释性翻译,可译为“sbert网络平台”或根据具体语境调整) 对于嵌入模型
- PyMuPDF4LLM(可译为“面向大型语言模型的PyMuPDF工具”或根据具体上下文简化为“PyMuPDF与LLM集成工具”,但直接保留原名在技术语境下也常被接受) - pymupdf.io(可译为“PyMuPDF输入输出模块”或根据具体语境简化为“PyMuPDF IO”,但通常直接保留原名以指代该库的输入输出功能) 用于PDF解析
- Docker - 用于集装箱化
- Python 社区 - 感谢所有让这一切成为可能的精彩库
特别感谢:
- SoftVelocity,用于创建Clarion程序并维护优秀的文档
- Clarion 开发者社区,提供反馈与支持
______________________________________________________________________
项目状态
版本: 1.0.0 状态: 已准备好投入生产 ✓ 最后更新时间: 2025年10月12日
测试环境
- ✓ 配备Docker Desktop的Windows 10/11系统
- ✓ macOS 12及以上版本,配备Docker Desktop
- ✓ 带有Docker引擎的Linux(Ubuntu 22.04+)
- ✓ 克劳德代码(最新版)
- ✓ Claude Desktop(最新版)
已知的局限性
- 代码缩进: 在PDF转换过程中,一些代码示例的缩进可能丢失。使用Clarion代码前应手动进行格式化。
- PDF质量: 搜索质量取决于源PDF文件的质量。一些较旧的手册可能存在OCR(光学字符识别)处理后的瑕疵。
- 无增量更新: 要更新文档,目前需要完全重建。
- 仅限英语: 仅支持英文文档。
______________________________________________________________________
联系与支持
- GitHub 仓库:
- 问题:
- 讨论:
______________________________________________________________________
为Clarion开发者社区用心打造
*将20多年的Clarion文档知识带给您的AI助手*
