文本搜索与分析处理服务器

TSAP MCP服务器是一个基于模型上下文协议(MCP)标准的实现,提供高级文本搜索、处理和分析功能,适用于代码智能和文本分析场景。

  • by Dicklesworthstone
  • HTML
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Dicklesworthstone/tsap_mcp_server

使用说明

TSAP MCP服务器

用于代码智能和文本分析的文本搜索和分析处理(TSAP)服务器的模型上下文协议(MCP)实现。

目录

概述

TSAP MCP Server是模型上下文协议(MCP)标准的实现,提供高级文本搜索、处理和分析功能。它作为一个独立的服务器运行,通过MCP接口提供广泛的功能,使其与Claude Desktop和其他MCP兼容的客户端兼容。

该服务器基于MCP Python SDK构建,并利用了一组多样化的专用库,使AI助手能够通过标准化接口处理文本、代码和文档分析。

项目组成部分

该项目由三个主要部分组成,它们协同工作:

  1. **tsap**核心文本搜索和分析处理系统提供以下基本功能:

    • 代码和文本搜索
    • 文献分析
    • 模式提取
    • 数据处理
    • 进化算法
    • 存储和缓存

    该组件实现了系统的核心功能和业务逻辑。

  2. toolapi:内部API系统 tsap 即:

    • 定义工具交互协议
    • 处理工具请求/响应生命周期
    • 管理工具注册和发现
    • 为工具使用提供客户端库

    这 toolapi 用作对TSAP功能进行编程访问的原始API层。

  3. tsap_mcp:模型上下文协议适配器层:

    • 将核心TSAP功能封装在MCP兼容接口中
    • 将TSAP工具映射到MCP工具功能
    • 为MCP URI模式实现资源处理程序
    • 提供MCP提示模板
    • 充当TSAP和Claude Desktop(或其他MCP客户端)之间的桥梁

这些组件共同创建了一个强大的系统,其中核心TSAP功能通过标准化的MCP接口公开,使其能够与支持模型上下文协议的Claude Desktop和其他AI助手无缝集成。

特性

  • MCP协议实现:完全符合AI工具的模型上下文协议标准。

  • 搜索功能:

    • 支持正则表达式、区分大小写选项和路径过滤的文本搜索
    • 使用带有模式匹配和文件过滤的ripgrep进行代码搜索
    • 使用Nomic和句子变换器的嵌入模型进行语义搜索
  • 处理工具:

    • 文本规范化和转换
    • 基于模式的数据提取
    • 文档结构分析
  • 分析工具:

    • 代码质量和结构分析
    • 文本内容分析
    • 文档分析和元数据提取
  • 可视化工具:

    • 使用matplotlib进行数据可视化
    • 使用networkx进行网络可视化
  • 资源访问:

    • 基于路径检索的文件内容访问
    • 项目结构信息
    • 配置管理
    • 语义语料库管理
  • Claude桌面集成:

    • 通过MCP协议与Claude Desktop无缝集成

安装

先决条件

  • Python 3.13或更高版本
  • 系统上安装了ripgrep(用于代码搜索功能)

来源

# Clone the repository
git clone https://github.com/your-org/tsap-mcp.git
cd tsap-mcp

# Install the package
pip install -e .

# For all optional dependencies (visualization, semantic search, etc.)
pip install -e ".[all]"

Claude桌面集成

要安装与Claude Desktop一起使用的服务器,请执行以下操作:

tsap-mcp install --desktop

这将向Claude Desktop注册服务器,使其可用于对话。

用法

运行服务器

# Run with default settings (localhost:8000)
tsap-mcp run

# Specify host and port
tsap-mcp run --host 0.0.0.0 --port 9000

# Enable auto-reload for development
tsap-mcp run --reload

# Disable adapter layer
tsap-mcp run --no-adapter

服务器信息

# Show basic server information
tsap-mcp info

# Show all registered components (tools, resources, prompts)
tsap-mcp info --components

命令行选项

服务器支持各种命令行选项:

tsap-mcp run [-H HOST] [-p PORT] [--reload] [--no-adapter]
tsap-mcp info [--components]
tsap-mcp test [--compatibility]
tsap-mcp install [--desktop] [--system]

环境变量

可以使用以下环境变量配置服务器行为:

  • TSAP_HOST:要绑定的主机(默认值:127.0.0.1)
  • TSAP_PORT:要绑定的端口(默认值:8000)
  • TSAP_LOG_LEVEL:日志记录级别(默认值:INFO)
  • TSAP_PERFORMANCE_MODE:性能模式(平衡、速度、精度)
  • TSAP_CACHE_ENABLED:启用缓存(默认值:true)
  • TSAP_DEBUG:启用调试模式(默认值:false)

建筑

TSAP MCP服务器遵循围绕核心组件组织的模块化架构:

src/
├── tsap/                  # Core TSAP implementation
│   ├── __init__.py        # Package initialization
│   ├── server.py          # Main server implementation
│   ├── cli.py             # Command-line interface
│   ├── config.py          # Configuration management
│   ├── main.py            # Main entry point
│   ├── api/               # API layer 
│   ├── analysis/          # Text and code analysis
│   ├── core/              # Core functionality
│   ├── project/           # Project management
│   ├── storage/           # Storage utilities
│   ├── utils/             # Utility functions
│   ├── toolapi/           # Tool API protocol implementation
│   │   ├── __init__.py    # Package initialization
│   │   ├── handler.py     # Tool request handling
│   │   ├── models.py      # Data models
│   │   ├── protocol.py    # Protocol definition
│   │   └── client/        # Client libraries
│   └── ...                # Other TSAP components
│
├── tsap_mcp/              # MCP adapter layer
│   ├── __init__.py        # Package initialization
│   ├── server.py          # MCP server implementation
│   ├── cli.py             # Command-line interface
│   ├── adapter.py         # Adapter for original TSAP
│   ├── tool_map.py        # Tool mapping utilities
│   ├── lifespan.py        # Server lifecycle management
│   ├── tools/             # MCP tool implementations
│   │   ├── search.py      # Search tools
│   │   ├── processing.py  # Text processing tools
│   │   ├── analysis.py    # Analysis tools
│   │   ├── visualization.py # Visualization tools
│   │   └── composite.py   # Composite tools
│   ├── resources/         # MCP resource implementations
│   │   ├── files.py       # File access resources
│   │   ├── project.py     # Project structure resources
│   │   ├── config.py      # Configuration resources
│   │   └── semantic.py    # Semantic corpus resources
│   ├── prompts/           # MCP prompt implementations
│   └── adapters/          # Protocol adapters
│
├── scripts/               # Utility scripts
└── tests/                 # Test suite

数据流

系统中的数据流遵循以下模式:

  1. MCP客户端(如Claude Desktop)向 tsap_mcp 服务器
  2. 这 tsap_mcp 适配器层将MCP请求转换为适当的 tsap 操作
  3. 这 tsap 核心系统处理请求,可能使用其 toolapi 子系统
  4. 通过以下方式将结果转换回MCP兼容的响应 tsap_mcp
  5. MCP客户端接收并处理响应

MCP组件

服务器实现了三种MCP组件类型:

  1. 工具:可以调用以执行特定操作的函数
  2. 资源:通过基于URI的接口的数据访问模式
  3. 提示:用于常见交互的可重用模板

发展

开发环境设置

# Clone the repository
git clone https://github.com/your-org/tsap-mcp.git
cd tsap-mcp

# Install in development mode with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

以开发模式运行

# Run with auto-reload
tsap-mcp run --reload

MCP检查员

对于开发和调试,您可以使用MCP检查器:

pip install mcp[cli]
mcp dev src/tsap_mcp/server.py

贡献

欢迎投稿!请看 贡献.md 作为指导方针。

许可证

该项目根据麻省理工学院许可证(使用OpenAI/Anthropic Rider)获得许可-请参阅 许可证 文件以获取详细信息。