AI模型协议服务器

一个将xAI的Grok API集成到Claude Code的模型上下文协议服务器,支持通过自然语言提示生成图像、聊天、分析图像、搜索网络和创建视频。

  • by joemccann
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 joemccann/xai-mcp-server

使用说明

xAI MCP服务器

一个模型上下文协议(MCP)服务器,将xAI的Grok API引入Claude代码。生成图像、与Grok聊天、分析图像、搜索网络和创建视频——所有这些都来自Claude Code会话中的自然语言提示。

特性

工具 说明
generate_image 使用Grok Imagine生成图像
chat 与Grok模特聊天(Grok-3、Grok-4、Grok-3-mini)
analyze_image 使用Grok Vision分析和描述图像
live_search 实时网络、新闻和X/Twitter搜索
generate_video 根据文本提示生成视频

先决条件

  • Node.js 18.0.0或更高
  • xAI API密钥 从 x.ai/api
  • 克劳德代码 安装

安装

选项1:快速安装(推荐)

curl -fsSL https://raw.githubusercontent.com/joemccann/xai-mcp-server/main/install.sh | bash

这将安装服务器并自动配置Claude Code。系统将提示您输入xAI API密钥。

选项2:GitHub上的npx

无需安装-直接从GitHub运行:

npx github:joemccann/xai-mcp-server

选项3:npm全局安装

npm install -g @joemccann/xai-mcp-server

选项4:克隆和构建

git clone https://github.com/joemccann/xai-mcp-server.git
cd xai-mcp-server
npm install

Claude代码的配置

步骤1:获取xAI API密钥

  1. 首选 x.ai/api
  2. 注册或登录
  3. 创建API密钥
  4. 复制密钥(以开头 xai-)

步骤2:配置Claude代码

注: 如果您使用了快速安装(选项1),那么这已经为您完成了。

使用Claude CLI添加MCP服务器:

claude mcp add xai -e XAI_API_KEY=xai-your-key-here -- node ~/.xai-mcp-server/dist/index.js

对于nvm用户,使用节点的绝对路径:

claude mcp add xai -e XAI_API_KEY=xai-your-key-here -- $(which node) ~/.xai-mcp-server/dist/index.js

验证是否已配置:

claude mcp list

您应该看到:

xai: ... - ✓ Connected

步骤3:重新启动Claude代码

重新启动Claude Code以加载新的MCP服务器。您应该看到可用的xAI工具。

用法

配置后,您可以使用自然语言调用xAI功能:

图像生成

Generate an image of a cyberpunk cityscape at night with neon lights.
Using grok imagine, create a watercolor painting of a mountain landscape.
Generate 3 variations of a logo for a coffee shop called "Bean There".

与Grok聊天

Ask Grok to explain the theory of relativity in simple terms.
Have Grok write a haiku about programming.

图像分析

Analyze this image and describe what you see: https://example.com/photo.jpg
What text is visible in this screenshot: [image URL]

实时搜索

Search for the latest news about SpaceX launches.
Find recent tweets about the new iPhone release.
Search the web for Python best practices 2024.

视频生成

Generate a 5-second video of clouds moving across a blue sky.
Create a video animation of a bouncing ball.

工具参考

generate_image

使用Grok Imagine从文本描述生成图像。

参数 类型 必填 默认 说明
prompt string 是 - 图像的文本描述
n number 否 1 图片数量(1-10)
model string 否 grok-2-image-1212 图像生成模型
aspect_ratio string 否 - 纵横比(例如,“16:9”、“1:1”、“4:3”)
response_format string 否 url 输出格式:“url”或“b64_json”

示例响应:

{
  "success": true,
  "images": [
    {
      "index": 1,
      "url": "https://api.x.ai/images/generated/abc123.png",
      "revised_prompt": "A detailed cyberpunk cityscape..."
    }
  ]
}

聊天

与Grok语言模特聊天。

参数 类型 必填 默认 说明
message string 是 - 要发送给Grok的消息
model string 否 grok-3 型号:grok-3、grok-4、grok-3-mini
system_prompt string 否 - 系统上下文/指令
temperature number No 0.7 取样温度(0-2)
max_tokens number 否 - 最大响应令牌数

分析图像

使用Grok的视觉能力分析图像。

参数 类型 必填 默认 说明
image_url string 是 - 图像URL或base64数据URL
prompt string 否 “描述此图像” 问题或说明
detail string 否 auto 细节级别:“低”、“高”、“自动”
model string 否 grok-2-vision-1212 视觉模型

live_search

使用Grok执行实时网络搜索。

参数 类型 必填 默认 说明
query string 是 - 搜索查询
sources 数组 否 ["web"] 来源:“网络”、“新闻”、“x”
date_range 对象 否 - 日期筛选器: { start, end } (年-月-日)
max_results number 否 10 最大结果(1-20)

生成视频

根据文本描述生成视频。

参数 类型 必填 默认 说明
prompt string 是 - 视频描述
model string 否 grok-imagine-video 视频生成模型
duration number No 5 持续时间(秒)(1-15)
image string 否 - 输入要设置动画的图像URL
video string 否 - 输入要编辑的视频URL
aspect_ratio string 否 - 宽高比(例如“16:9”)
wait_for_completion boolean 否 真 等待视频结束

发展

# Install dependencies
npm install

# Build TypeScript
npm run build

# Watch mode (rebuild on changes)
npm run dev

# Run the server directly
npm start

测试

该项目包括具有漂亮表格输出的全面单元测试:

# Run unit tests (mocked, no API calls)
npm run test

# Run tests with detailed output (shows every individual test)
npm run test:detailed

# Run tests in watch mode
npm run test:watch

# Run tests with coverage report
npm run test:coverage

# Run integration tests (requires XAI_API_KEY, makes real API calls)
npm run test:integration

测试输出特性:

  • 带有状态指示器的彩色编码结果(✓通过,✗ FAIL)
  • 显示最慢/最快测试文件的性能指标
  • 总统计数据汇总表
  • 详细模式显示单个测试持续时间和套件层次结构
  • 默认情况下,所有测试都使用模拟API(无成本,不需要API密钥)

项目结构

xai-mcp-server/
├── src/
│   ├── index.ts           # MCP server entry point
│   ├── xai-client.ts      # xAI API client with types
│   └── tools/
│       ├── generate-image.ts
│       ├── chat.ts
│       ├── vision.ts
│       ├── live-search.ts
│       └── generate-video.ts
├── dist/                  # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md

故障排除

“需要XAI_API_KEY环境变量”

使用API密钥重新添加MCP服务器:

claude mcp remove xai
claude mcp add xai -e XAI_API_KEY=xai-your-key-here -- $(which node) ~/.xai-mcp-server/dist/index.js

工具未出现在Claude代码中

  1. 跑 claude mcp list 检查服务器状态
  2. 如果未列出,请添加 claude mcp add (见上述步骤2)
  3. 对于nvm用户,请使用绝对节点路径: $(which node)
  4. 确保项目建成(npm run build)
  5. 完全重新启动Claude代码

API错误

  • 在验证您的API密钥是否有效 x.ai
  • 检查您是否有足够的API信用
  • 某些功能可能需要特定的API层访问权限

api参考

此服务器使用xAI API。有关API的完整文档,请参阅:

许可证

麻省理工学院

贡献

欢迎投稿!请打开问题或提交拉取请求。

致谢