TypeScript
MIT License
模型上下文协议 (MCP) 服务器实现,在 AI 模型和 Meilisearch 搜索引擎之间架起桥梁。
安装软件包:
meilisearchHost
:Meilisearch 实例的 URL(默认值:“ http://localhost:7700 ”)meilisearchApiKey
:用于通过 Meilisearch 进行身份验证的 API 密钥(默认值:“”)transport
:MCP 服务器的传输类型(“http” | “stdio”)(默认值:“http”)httpPort
:MCP 服务器的 HTTP 端口(默认值:4995)mcpEndpoint
:MCP 端点路径(默认值:“/mcp”)sessionTimeout
:会话超时(以毫秒为单位)(默认值:3600000)sessionCleanupInterval
:会话清理间隔(以毫秒为单位)(默认值:60000)aiProviderName
:AI 提供商的名称(“openai” | “huggingface” | “openrouter” | “ollama”)(默认值:“openai”)aiProviderApiKey
:用于 AI 推理的 AI 提供商 API 密钥llmModel
:要使用的 AI 模型(默认值:“gpt-3.5-turbo”)请注意,并非所有模型都支持函数调用,而函数调用是此包中正确进行 AI 推理所必需的。请确保选择支持 tools 参数的模型。
该包导出了 MCPClient 类用于客户端集成:
callToolWithAI(query, options)
通过人工智能处理用户查询以确定并执行最合适的工具。
参数:
query
:String - 要处理的用户查询或请求options
:对象(可选)- 配置选项specificTools
:String[] (可选) - 将工具选择限制为此工具名称列表justReasoning
:布尔值(可选) - 设置为true
时,仅返回 AI 的推理而不执行所选工具您可以通过编程方式启动服务器:
MCP 服务器提供了各种工具,方便您与 Meilisearch 功能进行交互。每个工具都对应一个特定的 Meilisearch API 端点,方便您执行搜索、索引和管理文档等操作。
indexUid
(字符串,可选):索引的唯一标识符。limit
(数字,可选):要返回的最大任务数。from
(数字,可选):从中开始获取的任务 uid。status
(字符串,可选):要返回的任务状态。type
(字符串,可选):要返回的任务类型。indexUids
(string[],可选):执行任务的索引的 UID。statuses
(string[],可选):要删除的任务的状态。types
(string[],可选):要删除的任务类型。indexUids
(string[],可选):执行删除任务的索引的 UID。uids
(number[],可选):要删除的任务的 UID。canceledBy
(number[],可选):要删除的已取消任务的 UID。beforeUid
(数字,可选):删除 uid 早于该值的任务。beforeStartedAt
(字符串,可选):删除在此日期之前开始处理的任务(ISO 8601 格式)。beforeFinishedAt
(字符串,可选):删除在此日期之前完成处理的任务(ISO 8601 格式)。limit
(数字,可选):要返回的最大索引数。offset
(数字,可选):要跳过的索引数。indexUid
(字符串,必需):索引的唯一标识符。indexUid
(字符串,必需):新索引的唯一标识符。primaryKey
(字符串,可选):索引的主键。indexUid
(字符串,必需):索引的唯一标识符。primaryKey
(字符串,必需):索引的新主键。indexUid
(字符串,必需):要删除的索引的唯一标识符。indexes
(字符串,必需):要交换的索引对的 JSON 数组,例如 [["movies", "movies_new"]]。indexUid
(字符串,必需):索引的唯一标识符。limit
(数字,可选):要返回的最大文档数量(默认值:20)。offset
(数字,可选):要跳过的文档数(默认值:0)。fields
(string[],可选):文档中要返回的字段。filter
(字符串,可选):要应用的过滤查询。indexUid
(字符串,必需):索引的唯一标识符。documentId
(字符串,必需):要检索的文档的 ID。fields
(string[],可选):文档中要返回的字段。indexUid
(字符串,必需):索引的唯一标识符。documents
(字符串,必需):要添加的文档的 JSON 数组。primaryKey
(字符串,可选):文档的主键。indexUid
(字符串,必需):索引的唯一标识符。documents
(字符串,必需):要更新的文档的 JSON 数组。primaryKey
(字符串,可选):文档的主键。indexUid
(字符串,必需):索引的唯一标识符。documentId
(字符串,必需):要删除的文档的 ID。indexUid
(字符串,必需):索引的唯一标识符。documentIds
(字符串,必需):要删除的文档 ID 的 JSON 数组。indexUid
(字符串,必需):索引的唯一标识符。indexUid
(字符串,必需):索引的唯一标识符。q
(字符串,必需):搜索查询。limit
(数字,可选):返回的最大结果数(默认值:20)。offset
(数字,可选):要跳过的结果数(默认值:0)。filter
(字符串,可选):要应用的过滤查询。sort
(string[],可选):排序的属性,例如 [“price”]。facets
(string[],可选):要返回的方面。attributesToRetrieve
(string[],可选):要包含在结果中的属性。attributesToCrop
(string[],可选):要裁剪的属性。cropLength
(数字,可选):裁剪属性的长度。attributesToHighlight
(string[],可选):要突出显示的属性。highlightPreTag
(字符串,可选):在突出显示的文本之前插入的标签。highlightPostTag
(字符串,可选):在突出显示的文本后插入的标签。showMatchesPosition
(布尔值,可选):是否在结果中包含匹配位置。matchingStrategy
(字符串,可选):匹配策略:“全部”或“最后”。queries
(字符串,必需):搜索查询的 JSON 数组,每个查询包含与search
工具相同的参数。q
(字符串,必需):搜索查询。limit
(数字,可选):每个索引返回的最大结果数(默认值:20)。attributesToRetrieve
(string[],可选):要包含在结果中的属性。indexUid
(字符串,必需):索引的唯一标识符。facetName
(字符串,必需):要搜索的方面的名称。facetQuery
(字符串,可选):查询以匹配方面值。filter
(字符串,可选):应用于基本搜索的过滤器。indexUid
(字符串,必需):索引的唯一标识符。indexUid
(字符串,必需):索引的唯一标识符。settings
(字符串,必需):包含要更新的设置的 JSON 对象。indexUid
(字符串,必需):索引的唯一标识符。以下工具检索 Meilisearch 索引的特定设置:
所有这些工具都有相同的参数:
indexUid
(字符串,必需):索引的唯一标识符。以下工具可更新 Meilisearch 索引的特定设置:
indexUid
(字符串,必需):索引的唯一标识符。displayedAttributes
(字符串,必需):要显示的属性的 JSON 数组,例如 [“title”,“description”]。indexUid
(字符串,必需):索引的唯一标识符。searchableAttributes
(字符串,必需):可搜索属性的 JSON 数组,例如 [“title”,“description”]。indexUid
(字符串,必需):索引的唯一标识符。filterableAttributes
(字符串,必需):可用作过滤器的属性的 JSON 数组,例如 [“genre”,“director”]。indexUid
(字符串,必需):索引的唯一标识符。sortableAttributes
(字符串,必需):可用于排序的属性的 JSON 数组,例如 [“price”,“date”]。indexUid
(字符串,必需):索引的唯一标识符。rankingRules
(字符串,必需):排名规则的 JSON 数组,例如 [“typo”、“words”、“proximity”、“attribute”、“sort”、“exactness”]。indexUid
(字符串,必需):索引的唯一标识符。stopWords
(字符串,必需):搜索查询中要忽略的单词的 JSON 数组,例如 [“the”,“a”,“an”]。indexUid
(字符串,必需):索引的唯一标识符。synonyms
(字符串,必需):将单词映射到其同义词的 JSON 对象,例如 {“movie”:[“film”]}。indexUid
(字符串,必需):索引的唯一标识符。typoTolerance
(字符串,必需):具有拼写错误容忍配置的 JSON 对象,例如 {"enabled": true, "minWordSizeForTypos": {"oneTypo": 5, "twoTypos": 9}}。indexUid
(字符串,必需):索引的唯一标识符。pagination
(字符串,必需):具有分页配置的 JSON 对象,例如 {“maxTotalHits”:1000}。indexUid
(字符串,必需):索引的唯一标识符。faceting
(字符串,必需):具有 faceting 配置的 JSON 对象,例如 {“maxValuesPerFacet”:100}。indexUid
(字符串,必需):索引的唯一标识符。dictionary
(字符串,必需):被视为单个单词的 JSON 数组,例如 [“San Francisco”,“New York”]。indexUid
(字符串,必需):索引的唯一标识符。proximityPrecision
(字符串,必需):具有接近精度值的字符串,可以是“byWord”或“byAttribute”。indexUid
(字符串,必需):索引的唯一标识符。separatorTokens
(字符串,必需):应被视为单词分隔符的标记的 JSON 数组,例如 [“-”,“_”]。indexUid
(字符串,必需):索引的唯一标识符。nonSeparatorTokens
(字符串,必需):不应被视为单词分隔符的标记的 JSON 数组,例如 [“@”,“。”]。indexUid
(字符串,必需):索引的唯一标识符。wordDictionary
(字符串,必需):要添加到字典中的自定义单词的 JSON 数组,例如 [“cbuilder”,“meilisearch”]。以下工具可将 Meilisearch 索引的特定设置重置为其默认值:
所有这些重置工具都具有相同的参数:
indexUid
(字符串,必需):索引的唯一标识符。limit
(数字,可选):要返回的最大任务数。from
(数字,可选):从中开始获取的任务 uid。statuses
(string[],可选):要返回的任务状态。types
(string[],可选):要返回的任务类型。indexUids
(string[],可选):执行任务的索引的 UID。uids
(number[],可选):要返回的特定任务的 UID。taskUid
(数字,必需):任务的唯一标识符。statuses
(string[],可选):要取消的任务的状态。types
(string[],可选):要取消的任务类型。indexUids
(string[],可选):执行要取消的任务的索引的 UID。uids
(number[],可选):要取消的任务的 UID。taskUid
(数字,必需):要等待的任务的唯一标识符。timeoutMs
(数字,可选):等待的最长时间(以毫秒为单位)(默认值:5000)。intervalMs
(数字,可选):轮询间隔(以毫秒为单位)(默认值:500)。indexUid
(字符串,必需):索引的唯一标识符。embedders
(字符串,必需):包含嵌入器配置的 JSON 对象。indexUid
(字符串,必需):索引的唯一标识符。indexUid
(字符串,必需):索引的唯一标识符。indexUid
(字符串,必需):索引的唯一标识符。vector
(字符串,必需):表示要搜索的向量的 JSON 数组。limit
(数字,可选):返回的最大结果数(默认值:20)。offset
(数字,可选):要跳过的结果数(默认值:0)。filter
(字符串,可选):要应用的过滤器(例如,“类型 = 恐怖 AND 年份 > 2020”)。embedder
(字符串,可选):要使用的嵌入器的名称(如果省略,则必须提供“向量”)。attributes
(string[],可选):包含在向量搜索中的属性。query
(字符串,可选):要搜索的文本查询(如果使用“嵌入器”而不是“向量”)。hybrid
(布尔值,可选):是否执行混合搜索(结合向量和文本搜索)。hybridRatio
(数字,可选):混合搜索中向量与文本搜索的比例(0-1,默认值:0.5)。We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/falcosan/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server