Token导航 LogoToken导航TokenDH.com
Typesense MCP (Fogx) logo
搜索检索未说明官方级别未说明来源级核验

Typesense MCP (Fogx)

MCP Server

Typesense MCP Server 是一个用于查询和管理 Typesense 搜索索引的模型上下文协议服务器,支持全文、向量和混合搜索,提供元数据读取和写入操作。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
搜索服务混合搜索TypeScriptClaude全文搜索Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

fogx

提供方

fogx

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Typesense MCP服务器

用于查询和管理Typesense搜索索引的模型上下文协议服务器。

工具

search --文本、矢量或混合搜索

单个搜索端点支持全文、矢量(通过嵌入或文档ID)和混合(文本+矢量与阿尔法混合)。

lookup --读取元数据

发货人 action: collections, schema, document, count, aliases, synonyms.

manage --写操作(在只读源上被阻止)

发货人 action: upsert_documents, delete_documents, upsert_alias, delete_alias, create_collection, delete_collection, upsert_synonym, delete_synonym.

仅当至少有一个源已注册时 readonly = false.

资源

collection://{source}/{collection} --具有类型和属性的字段模式。

设置

1.创建配置文件

创建 typesense-mcp.toml 与您的Typesense连接详细信息。请参阅 配置参考 下面是所有可用选项。

[[sources]]
id = "production"
host = "your-cluster.a1.typesense.net"
api_key = "your-api-key"
readonly = true
collections = ["products*", "orders*"]

添加多个 [[sources]] 用于不同环境(生产、暂存、本地等)的块。

2.添加到 .mcp.json

{
  "mcpServers": {
    "typesense": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "typesense-mcp", "path/to/typesense-mcp.toml"]
    }
  }
}

重新启动Claude代码和 mcp__typesense__* 工具将可用。

配置参考

[[sources]] 块定义了到Typesense集群的连接。您可以配置多个源,使LLM能够访问不同的环境或集群。

源字段

字段类型必填默认描述
id字符串--此源的唯一标识符。在所有工具调用中用于定位正确的集群。
host字符串--Typesense主机(例如。 your-cluster.a1.typesense.net).支持 环境变量.
api_key字符串-Typesense API密钥。支持 环境变量.
collectionsstring\[\]收集模式 控制此源可以访问哪些集合。
port编号443Typesense服务器端口
protocol"https""http"没有"https"连接协议。使用 "http" 对于本地Typesense实例。
readonlybooleanfalse何时 true,阻止对此源的所有写入操作。看 只读模式.
connection_timeout编号5连接超时(秒)。
max_search_results编号250最大值 per_page 搜索结果的价值。任何具有更高搜索请求 per_page 上限为该值。

集合

collections 字段是主要的访问控制机制。它决定了LLM可以在整个服务器上查看和交互哪些集合。

模式语法:每个条目都是一个精确的集合名称或一个带有尾随的前缀 * 通配符。

# Exact match — only this specific collection
collections = ["products"]

# Wildcard — any collection starting with "products"
# Matches: products, products_v2, products_2024-01-15T00:00:00Z
collections = ["products*"]

# Multiple patterns
collections = ["products*", "orders*", "users"]

什么 collections 控制:

效果描述
架构缓存在启动时,服务器从Typesense获取模式,并仅缓存与您的模式匹配的集合。这决定了哪些模式可以立即使用,而不是需要实时查找。
架构资源The collection://{source}/{collection} MCP资源只公开与您的模式匹配的集合。这是LLM在搜索之前读取以了解字段名称和类型的内容。
收藏发现lookup action=collections 过滤结果——LLM只看到与您的模式匹配的集合。
别名发现lookup action=aliases 过滤器别名——只返回指向允许的集合的别名。
门禁每一个 search, manage,并且特定于收藏 lookup 调用在执行之前根据您的模式验证所请求的集合。对不匹配集合的请求被拒绝。

**这 ["*"] 通配符**:设置 collections = ["*"] 匹配集群上的每个集合。这有效地禁用了集合级访问控制。适合当地发展,但在共享或生产集群上,这意味着LLM可以访问(以及 readonly = false,修改)任何集合。

推荐方法:使用适用于您环境的特定前缀。这对于带时间戳的集合名称特别有用:

# Production — read-only, scoped to production collections
[[sources]]
id = "production"
host = "cluster.typesense.net"
api_key = "${TYPESENSE_PROD_KEY}"
readonly = true
collections = ["products_production*", "orders_production*"]

# Staging — writable, scoped to staging collections
[[sources]]
id = "staging"
host = "cluster.typesense.net"
api_key = "${TYPESENSE_STAGING_KEY}"
collections = ["products_staging*", "orders_staging*"]

只读模式

readonly = true,the manage 该工具阻止对该源的所有写入操作,并返回错误消息。这使您可以安全地将管理员API密钥用于读取操作(架构查找、搜索),而不会有意外突变的风险。

如果 全部 来源是只读的 manage 该工具根本没有注册——LLM甚至不会将其视为可用工具。

[[sources]]
id = "production"
host = "cluster.typesense.net"
api_key = "admin-key-here"
readonly = true  # safe to use admin key — writes are blocked
collections = ["products_production*"]

或者,您可以创建 作用域API密钥 在Typesense中,只有搜索权限,这也在Typesens层提供了防御。

环境变量

hostapi_key 字段支持环境变量替换,以避免在配置文件中存储机密:

[[sources]]
id = "production"
host = "${TYPESENSE_HOST}"
api_key = "${TYPESENSE_API_KEY}"
collections = ["products*"]

两者 ${VAR_NAME}$VAR_NAME 支持语法。如果未设置引用的变量,服务器将在启动时抛出错误。

日志记录

设置 LOG_LEVEL 用于控制日志详细程度的环境变量。日志被写入stderr。

级别描述
debug详细输出,包括客户端创建和缓存详细信息
info启动进度和操作事件(默认)
warn非致命问题(例如,无法获取源的别名)
error工具执行或关闭时出错

完整示例

# Production — locked down for safe exploration
[[sources]]
id = "production"
host = "${TYPESENSE_HOST}"
api_key = "${TYPESENSE_PROD_KEY}"
port = 443
protocol = "https"
readonly = true
connection_timeout = 10
max_search_results = 100
collections = ["products_production*", "orders_production*"]

# Staging — writable for testing
[[sources]]
id = "staging"
host = "${TYPESENSE_HOST}"
api_key = "${TYPESENSE_STAGING_KEY}"
readonly = false
collections = ["products_staging*", "orders_staging*"]

# Local — wide open for development
[[sources]]
id = "local"
host = "localhost"
port = 8108
protocol = "http"
api_key = "xyz"
collections = ["*"]

启动行为

当服务器启动时,它:

  1. 解析和验证 TOML配置——如果任何必填字段丢失或无效,服务器将立即退出。
  2. 扩展环境变量hostapi_key 领域。
  3. 预热架构缓存 --连接到每个源,检索所有集合,根据配置的模式对其进行过滤,并缓存字段模式。这意味着服务器运行后,模式查找是即时的。
  4. 注册工具searchlookup 总是注册的。 manage 仅当至少有一个源具有 readonly = false.
  5. 注册架构资源 --暴露 collection://{source}/{collection} 对于所有允许的收藏。
  6. 通过stdio连接 并且准备好处理请求。

如果在预热过程中无法访问某个源,服务器会记录一条警告并继续——其他源仍将工作。在源可用之前,无法访问的源的架构查找将返回“无缓存架构”。

发展

git clone https://github.com/fogx/typesense-mcp.git
cd typesense-mcp
npm install
npm run build
npm test

释放

  1. 添加变更集: npx changeset
  2. 版本: npx changeset version
  3. 承诺并推动
  4. 创建GitHub版本——CI将发布到npm

目录标签

目录标签

搜索服务混合搜索TypeScriptClaude全文搜索本地部署索引管理向量搜索

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP