
ETABS Documentation Assistant MCP Server (Local Embeddings)

2025.05.05
0
TypeScript文档辅助语义搜索开发效率
ETABS Documentation Assistant MCP Server (Local Embeddings) 是一个基于Model Context Protocol (MCP)的服务,旨在帮助AI模型(如Anthropic的Claude via Claude Desktop)对用户提供的ETABS文档进行语义搜索。该服务使用本地句子转换器模型生成嵌入(通过`@xenova/transformers.js`)和ChromaDB进行向量存储,使得在初始设置后可以免费运行。
**核心功能**包括:
- 提供一个名为`search_etabs_docs`的MCP工具。
- 接受关于ETABS的自然语言查询。
- 使用语义相似性在用户索引的ETABS文档中找到最相关的部分。
- 返回文档中的文本片段(带有源文件引用)给MCP客户端(如Claude Desktop),供AI模型用作上下文。
**适用场景**:
- 为ETABS用户提供快速、准确的文档查询支持。
- 在开发或使用ETABS时,快速获取相关文档信息。
View on GitHub
Overview
基本能力
产品定位
ETABS Documentation Assistant MCP Server (Local Embeddings) 是一个专门为ETABS用户设计的文档辅助工具,通过AI模型提供语义搜索功能,帮助用户快速获取ETABS文档中的相关信息。
核心功能
- 语义搜索:支持自然语言查询,返回最相关的文档片段。
- 本地嵌入生成:使用本地句子转换器模型生成嵌入,无需依赖外部服务。
- 向量存储:使用ChromaDB进行向量存储,确保数据本地化和安全性。
- MCP工具:提供
search_etabs_docs
工具,与MCP客户端(如Claude Desktop)无缝集成。
适用场景
- ETABS用户:快速查询ETABS文档,提高工作效率。
- 开发者:在开发ETABS相关应用时,快速获取文档支持。
- AI模型:为AI模型提供ETABS文档的上下文信息。
工具列表
- search_etabs_docs:用于执行语义搜索的工具,返回相关文档片段。
常见问题解答
- 索引失败:检查Python错误消息,确保.chm文件路径正确,CHM提取工具安装正确。
- 服务器启动失败:确保
npm run build
完成无错误,检查终端输出。 - Claude Desktop连接失败:检查
claude_desktop_config.json
中的绝对路径,确保Node.js安装正确。
使用教程
使用依赖
- Node.js:版本18或更高(下载)。
- npm:通常随Node.js一起安装。
- Python:版本3.9或更高(下载)。
- Docker:用于运行ChromaDB向量数据库(下载Docker Desktop)。
- ETABS文档文件:合法获取的
etabs.chm
文件。 - CHM提取工具:如
7z
或chmextract
。 - Windows:安装7-Zip,确保
7z.exe
在PATH中。 - macOS:
brew install p7zip chmextract
。 - Linux:
sudo apt update && sudo apt install p7zip-full libchm-bin
。
安装教程
- 克隆仓库:
bash git clone https://github.com/<your-github-username>/etabs-mcp-server-local-embeddings.git cd etabs-mcp-server-local-embeddings
- 安装Node.js依赖:
bash npm install
- 设置Python环境:
bash cd index_chm_py python -m venv .venv source .venv/bin/activate # macOS/Linux pip install -r requirements.txt cd ..
- 配置环境变量:
bash cp .env.example .env
编辑.env
文件,设置CHROMA_COLLECTION_NAME
、LOCAL_EMBEDDING_MODEL
和CHROMA_HOST
。 - 启动ChromaDB:
bash docker rm -f etabs_chroma_local docker run -d -p 8000:8000 --name etabs_chroma_local -v "$(pwd)/chroma_data:/chroma/chroma" chromadb/chroma
- 索引文档:
bash cd index_chm_py python indexer.py --chm-file "<PATH_TO_YOUR_ETABS.CHM>" cd ..
- 启动MCP服务器:
bash npm run build npm start
调试方式
- 检查索引:确保
.chm
文件路径正确,CHM提取工具安装正确。 - 检查服务器:运行
npm start
查看终端输出。 - 检查Claude Desktop连接:检查
claude_desktop_config.json
中的路径,确保Node.js安装正确。