Typesense搜索服务

一个实现模型上下文协议(MCP)的服务器,为AI模型提供Typesense搜索能力,支持文档发现、搜索和分析。

  • by suhail-ak-2
  • TypeScript
  • 本地部署
  • 19 星标
  • 更新于
在 GitHub 查看 suhail-ak-s/mcp-typesense-server

使用说明

Typesense MCP 服务器


A. 模型上下文协议(MCP) 提供AI模型访问权限的服务器实现 Typesense(注:这是一个专有名词,通常不直接翻译,但在此提供其含义以供参考,即“一种搜索引擎或类型感知技术”,具体翻译可能需根据上下文调整) 搜索功能。该服务器使大型语言模型(LLMs)能够发现、搜索和分析存储在Typesense集合中的数据。

演示

特点/特性

资源

  • 列出并访问集合,通过 typesense:// 统一资源标识符(URIs)
  • 每个集合都有一个名称、描述和文档数量
  • 用于模式访问的JSON MIME类型

工具

  • Typesense查询

    • 在Typesense集合中使用强大过滤功能搜索文档
    • 输入:查询文本、集合名称、搜索字段、过滤器、排序选项、限制
    • 返回匹配文档及其相关性得分
  • 获取TypeSense文档

    • 从集合中按ID检索特定文档
    • 输入:集合名称,文档ID
    • 返回完整的文档数据
  • Typesense集合统计信息

    • 获取Typesense集合的统计数据
    • 输入:集合名称
    • 返回集合元数据、文档数量和模式信息

提示

  • 分析集合

    • 分析收集结构和内容
    • 输入:集合名称
    • 输出:关于模式、数据类型和统计信息的见解
  • 搜索建议

    • 获取针对集合的有效搜索查询建议
    • 输入:集合名称
    • 输出:基于集合模式的推荐搜索策略

安装

通过 npm

# Global installation
npm install -g typesense-mcp-server

# Local installation
npm install typesense-mcp-server

通过mcp-get(注:mcp-get可能是一个特定的命令、接口或协议名称,具体含义需根据上下文确定)

npx @michaellatman/mcp-get@latest install typesense-mcp-server

发展

安装依赖项:

npm install

构建服务器:

npm run build

对于支持自动重建的开发:

npm run watch

开发安装

使用Claude桌面版

要在Claude Desktop中使用,请添加服务器配置:

在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json

在Windows上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "typesense": {
      "command": "node",
      "args": [
        "~/typesense-mcp-server/dist/index.js",
        "--host", "your-typesense-host",
        "--port", "8108",
        "--protocol", "http",
        "--api-key", "your-api-key"
      ]
    },
  }
}

调试

由于MCP服务器通过标准输入输出进行通信,调试可能会具有挑战性。我们建议使用 MCP 检测器(或 MCP 检查器),该脚本可作为包脚本使用:

npm run inspector

检查员将提供一个URL,以便您在浏览器中访问调试工具。

组件

资源

服务器提供有关 Typesense 集合的信息:

  • 集合模式 (typesense://collections/<collection>)
    • 每个集合的JSON模式信息
    • 包括字段名和数据类型
    • 用于理解数据结构的示例文档

工具

服务器提供了以下工具用于与Typesense进行交互:

  • Typesense 列出集合 - 列出所有可用的集合及其模式

    • 支持零配置发现和路由
    • 大型语言模型(LLM)可以在运行时枚举集合,并在搜索之前选择正确的集合(一个或多个)
    • 当集合因环境、租户或版本而异时,此功能非常有用
    • 返回用于模式推断的字段定义(可搜索字段、可分面字段、数值字段)
    • 支持 include_fields 控制细节级别的参数
  • Typesense查询 - 在集合中搜索文档

    • 带有可自定义参数的全文搜索
    • 支持过滤、排序和分页
  • 获取TypeSense文档 - 通过ID检索特定文档

  • TypeSense集合统计信息 - 获取特定集合的详细统计数据

资源模板

服务器提供以下模板:

  • Typesense 搜索 - 构建Typesense搜索查询的模板
  • Typesense集合 - 查看Typesense集合详情的模板

与Claude桌面版的使用

要在Claude桌面应用程序中使用此服务器,请将以下配置添加到您的“mcpServers”部分中 claude_desktop_config.json:

{
  "mcpServers": {
    "typesense": {
      "command": "npx",
      "args": [
        "-y",
        "typesense-mcp-server",
        "--host", "your-typesense-host",
        "--port", "8108",
        "--protocol", "http",
        "--api-key", "your-api-key"
      ]
    }
  }
}

记录(日志)

服务器将信息记录到位于以下路径的文件中:

/tmp/typesense-mcp.log

此日志包含有关服务器操作、请求以及发生的任何错误的详细信息。

许可证

此MCP服务器遵循MIT许可证进行授权。这意味着您可以在遵守MIT许可证条款和条件的前提下,自由地使用、修改和分发该软件。如需更多详情,请参阅项目仓库中的LICENSE文件。