grok-mcp
The Grok MCP Plugin is an MCP plugin that provides access to Grok AI's capabilities such as chat completion, image understanding, and function calling from Cline. It requires Node.js and a Grok AI API key for usage, and offers seamless integration with the existing toolset.
Grok MCP Plugin
A Model Context Protocol (MCP) plugin that provides seamless access to Grok AI's powerful capabilities directly from Cline.
Features
This plugin exposes three powerful tools through the MCP interface:
- Chat Completion - Generate text responses using Grok's language models
- Image Understanding - Analyze images with Grok's vision capabilities
- Function Calling - Use Grok to call functions based on user input
Prerequisites
- Node.js (v16 or higher)
- A Grok AI API key (obtain from console.x.ai)
- Cline with MCP support
Installation
-
Clone this repository:
git clone https://github.com/Bob-lance/grok-mcp.git cd grok-mcp
-
Install dependencies:
npm install
-
Build the project:
npm run build
-
Add the MCP server to your Cline MCP settings:
For VSCode Cline extension, edit the file at:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Add the following configuration:
{ "mcpServers": { "grok-mcp": { "command": "node", "args": ["/path/to/grok-mcp/build/index.js"], "env": { "XAI_API_KEY": "your-grok-api-key" }, "disabled": false, "autoApprove": [] } } }
Replace
/path/to/grok-mcp
with the actual path to your installation andyour-grok-api-key
with your Grok AI API key.
Usage
Once installed and configured, the Grok MCP plugin provides three tools that can be used in Cline:
Chat Completion
Generate text responses using Grok's language models:
<use_mcp_tool>
<server_name>grok-mcp</server_name>
<tool_name>chat_completion</tool_name>
<arguments>
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello, what can you tell me about Grok AI?"
}
],
"temperature": 0.7
}
</arguments>
</use_mcp_tool>
Image Understanding
Analyze images with Grok's vision capabilities:
<use_mcp_tool>
<server_name>grok-mcp</server_name>
<tool_name>image_understanding</tool_name>
<arguments>
{
"image_url": "https://example.com/image.jpg",
"prompt": "What is shown in this image?"
}
</arguments>
</use_mcp_tool>
You can also use base64-encoded images:
<use_mcp_tool>
<server_name>grok-mcp</server_name>
<tool_name>image_understanding</tool_name>
<arguments>
{
"base64_image": "base64-encoded-image-data",
"prompt": "What is shown in this image?"
}
</arguments>
</use_mcp_tool>
Function Calling
Use Grok to call functions based on user input:
<use_mcp_tool>
<server_name>grok-mcp</server_name>
<tool_name>function_calling</tool_name>
<arguments>
{
"messages": [
{
"role": "user",
"content": "What's the weather like in San Francisco?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature to use"
}
},
"required": ["location"]
}
}
}
]
}
</arguments>
</use_mcp_tool>
API Reference
Chat Completion
Generate a response using Grok AI chat completion.
Parameters:
messages
(required): Array of message objects with role and contentmodel
(optional): Grok model to use (defaults to grok-2-latest)temperature
(optional): Sampling temperature (0-2, defaults to 1)max_tokens
(optional): Maximum number of tokens to generate (defaults to 16384)
Image Understanding
Analyze images using Grok AI vision capabilities.
Parameters:
prompt
(required): Text prompt to accompany the imageimage_url
(optional): URL of the image to analyzebase64_image
(optional): Base64-encoded image data (without the data:image prefix)model
(optional): Grok vision model to use (defaults to grok-2-vision-latest)
Note: Either image_url
or base64_image
must be provided.
Function Calling
Use Grok AI to call functions based on user input.
Parameters:
messages
(required): Array of message objects with role and contenttools
(required): Array of tool objects with type, function name, description, and parameterstool_choice
(optional): Tool choice mode (auto, required, none, defaults to auto)model
(optional): Grok model to use (defaults to grok-2-latest)
Development
Project Structure
src/index.ts
- Main server implementationsrc/grok-api-client.ts
- Grok API client implementation
Building
npm run build
Running
XAI_API_KEY="your-grok-api-key" node build/index.js
License
This project is licensed under the MIT License - see the file for details.