关于 grok-chat
grok-chat 是用 Rust 编写的 MCP 服务,为 MCP 客户端提供 xAI Grok API 的聊天、视觉分析、搜索、嵌入生成和模型查询功能。
主要功能
- 01支持多轮聊天和结构化输出
- 02使用视觉模型分析图像
- 03实时网页与 X 搜索
- 04生成文本嵌入
- 05查询可用模型
适用场景
- 01结合最新网页或 X 结果回答问题
- 02根据图像 URL 分析图片
- 03为文本生成嵌入
- 04通过多个 Agent 并行研究
MCP 相关
通过 stdio 和 JSON-RPC 2.0 通信,向 MCP 客户端提供五种 Grok API 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-grok-chat
适用于 xAI Grok API 的 MCP(Model Context Protocol)服务。使用 Rust 构建,将聊天补全、视觉、网页/X 搜索、嵌入和模型列表功能作为 MCP 工具提供。
与所有 MCP 服务一样,通过 stdio 使用 JSON-RPC 2.0 进行通信。
工具
| 工具 | 说明 |
|---|---|
chat | 向 Grok 发送聊天补全请求,支持可选的多轮历史记录、系统提示词、结构化输出(JSON schema)、模型选择和多 Agent 研究 |
chat_with_vision | 提供图像 URL 和文本提示词,使用 Grok 的视觉能力分析图像 |
chat_with_search | 使用实时网页搜索和/或 X(Twitter)搜索与 Grok 对话,为回复提供依据 |
embedding | 使用 Grok 的嵌入模型生成文本嵌入 |
list_models | 列出所有可用的 Grok 模型及其 ID(缓存 5 分钟) |
chat
发送聊天补全请求。支持通过 JSON 消息历史数组进行多轮对话、系统提示词、通过 JSON schema 实现结构化输出、温度控制、模型选择和多 Agent 研究。
使用多 Agent 模型(任何包含 multi-agent 的模型 ID)时,请求会自动通过 Responses API 路由。多 Agent 模型会将查询分派给多个 Agent 并行研究,然后综合其发现。使用 reasoning_effort 控制 Agent 数量。调用 list_models 工具可查看当前可用的多 Agent 模型。
参数:
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
prompt | string | 是 | 要发送的用户消息 |
model | string | 否 | 模型 ID(默认:grok-4.3)。调用 list_models 获取当前模型列表。 |
system_prompt | string | 否 | 用于设定上下文的系统提示词 |
messages | string | 否 | 完整对话历史,以 {role, content} 对象组成的 JSON 数组表示 |
temperature | float | 否 | 采样温度(0.0 - 2.0) |
max_tokens | integer | 否 | 生成的最大 token 数 |
response_schema | string | 否 | 用于强制结构化输出的 JSON schema 字符串 |
reasoning_effort | string | 否 | 对于 grok-4.3:low/medium/high 控制原生推理深度。对于多 Agent 模型:low/medium = 4 个 Agent,high/xhigh = 16 个 Agent(xhigh 仅适用于多 Agent 模型)。 |
chat_with_vision
使用 Grok 的视觉能力分析图像。
参数:
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
prompt | string | 是 | 描述要分析内容的文本提示词 |
image_url | string | 是 | 图像 URL(必须以 http:// 或 https:// 开头) |
model | string | 否 | 模型 ID(默认:grok-4.3)。必须是支持视觉的模型。调用 list_models 获取当前模型列表。 |
detail | string | 否 | 图像细节级别:low 或 high(默认:high) |
temperature | float | 否 | 采样温度(0.0 - 2.0) |
max_tokens | integer | 否 | 生成的最大 token 数 |
chat_with_search
使用实时网页搜索和/或 X(Twitter)搜索与 Grok 对话。模型会自动搜索互联网,为回复提供依据。
参数:
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
prompt | string | 是 | 要发送的用户消息 |
search_type | string | 否 | 搜索类型:web、x 或 both(默认:both) |
model | string | 否 | 模型 ID(默认:grok-4.3)。调用 list_models 获取当前模型列表。 |
system_prompt | string | 否 | 用于设定上下文的系统提示词 |
temperature | float | 否 | 采样温度(0.0 - 2.0) |
max_tokens | integer | 否 | 生成的最大 token 数 |
reasoning_effort | string | 否 | 对于 grok-4.3:low/medium/high 控制原生推理深度。对于多 Agent 模型:low/medium = 4 个 Agent,high/xhigh = 16 个 Agent(xhigh 仅适用于多 Agent 模型)。 |
embedding
生成文本嵌入向量。
参数:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
input | string | 是 | 要生成嵌入向量的文本,格式为 JSON:单个字符串或字符串数组 |
model | string | 否 | 要使用的嵌入模型(默认值:grok-2-text-embedding) |
list_models
列出所有可用的 Grok 模型。无需参数。结果会缓存 5 分钟。
前置条件
- Rust(edition 2024)
- 从 console.x.ai 获取的 xAI API 密钥
设置
创建配置文件:
mkdir -p ~/.config/mcp-server-grok-chat
创建 ~/.config/mcp-server-grok-chat/config.toml:
api_key = "xai-..."
构建
cargo build --release
这会生成 target/release/grok-chat。
用于开发:
cargo build # debug build
cargo run # run in dev mode
RUST_LOG=debug cargo run # run with debug logging
MCP 配置
添加到你的 Claude Desktop 配置文件(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"grok-chat": {
"command": "/path/to/grok-chat"
}
}
}
项目结构
src/
main.rs - entry point, config loading, stdio transport setup
server.rs - MCP tool definitions (chat, chat_with_vision, chat_with_search, embedding, list_models)
api.rs - xAI HTTP client, request/response types, response formatters
params.rs - tool parameter types with serde and JSON Schema derives
config.rs - TOML config loading
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。