
Grok MCP Plugin
<!-- Add badges here --> <!-- Replace with your actual package name if different -->
<!-- Replace with your actual repo path -->
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
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-3-mini-beta)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-3-mini-beta)
Development
Project Structure
src/index.ts- Main server implementationsrc/grok-api-client.ts- Grok API client implementation
Building
npm run buildRunning
XAI_API_KEY="your-grok-api-key" node build/index.jsnpm installBefore it works, you'll need: XAI_API_KEY
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.jsonAdd 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-mcpwith the actual path to your installation andyour-grok-api-keywith 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>No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
License
This project is licensed under the MIT License - see the LICENSE file for details.