ETABS Documentation Assistant MCP Server (Local Embeddings)

ETABS Documentation Assistant MCP Server (Local Embeddings)

site icon
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安装正确。

使用教程

使用依赖

  1. Node.js:版本18或更高(下载)。
  2. npm:通常随Node.js一起安装。
  3. Python:版本3.9或更高(下载)。
  4. Docker:用于运行ChromaDB向量数据库(下载Docker Desktop)。
  5. ETABS文档文件:合法获取的etabs.chm文件。
  6. CHM提取工具:如7zchmextract
  7. Windows:安装7-Zip,确保7z.exe在PATH中。
  8. macOSbrew install p7zip chmextract
  9. Linuxsudo apt update && sudo apt install p7zip-full libchm-bin

安装教程

  1. 克隆仓库bash git clone https://github.com/<your-github-username>/etabs-mcp-server-local-embeddings.git cd etabs-mcp-server-local-embeddings
  2. 安装Node.js依赖bash npm install
  3. 设置Python环境bash cd index_chm_py python -m venv .venv source .venv/bin/activate # macOS/Linux pip install -r requirements.txt cd ..
  4. 配置环境变量bash cp .env.example .env 编辑.env文件,设置CHROMA_COLLECTION_NAMELOCAL_EMBEDDING_MODELCHROMA_HOST
  5. 启动ChromaDBbash docker rm -f etabs_chroma_local docker run -d -p 8000:8000 --name etabs_chroma_local -v "$(pwd)/chroma_data:/chroma/chroma" chromadb/chroma
  6. 索引文档bash cd index_chm_py python indexer.py --chm-file "<PATH_TO_YOUR_ETABS.CHM>" cd ..
  7. 启动MCP服务器bash npm run build npm start

调试方式

  1. 检查索引:确保.chm文件路径正确,CHM提取工具安装正确。
  2. 检查服务器:运行npm start查看终端输出。
  3. 检查Claude Desktop连接:检查claude_desktop_config.json中的路径,确保Node.js安装正确。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。