SipherAGI/gaia-mcp-server
If you are the rightful owner of gaia-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Gaia MCP Server is a deprecated TypeScript implementation of a Model Context Protocol server for ProtoGaia, supporting stdio and SSE communication methods.
Gaia MCP Server
⚠️ DEPRECATED
This repository is deprecated and is no longer actively maintained. Please use the new Go implementation instead:
👉 github.com/SipherAGI/gaia-mcp-go
The Go implementation provides better performance, easier installation, and active maintenance.
An MCP (Model Context Protocol) server implementation for ProtoGaia, supporting both stdio and SSE (Server-Sent Events) communication methods.
Table of Contents
Introduction
This package contains a TypeScript implementation of an MCP server for ProtoGaia. It provides a standardized way for LLMs (Large Language Models) to communicate with external tools and services using the Model Context Protocol.
Installation
You can use Gaia MCP Server in multiple ways:
Using with npx (No Installation)
Run the server directly using npx without installing:
# Run in SSE mode
npx @ather-mcp/gaia-mcp-server sse
# Run in stdio mode
npx @ather-mcp/gaia-mcp-server stdio --api-key=your-api-key
Global Installation
Install the package globally to run from anywhere:
npm install -g @ather-mcp/gaia-mcp-server
Then run it from any terminal:
# Run in SSE mode
gaia-mcp-server sse
# Run in stdio mode
gaia-mcp-server stdio --api-key=your-api-key
Usage
The server can be run in two modes: stdio or SSE. You can choose which mode to run using the command-line interface.
Integrate with Claude Desktop
You can integrate Gaia MCP Server with Claude Desktop to generate images directly in your conversations:
-
Get Your Gaia API Key:
- Log in to Gaia's website
- Go to your account settings via your profile picture
- Navigate to the "Security" section
- Create a new API key and copy it
-
Configure Claude Desktop:
- Open Claude Desktop
- Go to Settings (File > Settings on Windows, Claude > Settings on Mac)
- Click the "Developer" tab
- Click the "Edit config" button
- Replace the content with one of these configurations:
If you've installed the package globally:
{ "mcpServers": { "gaia-mcp-server": { "command": "gaia-mcp-server", "args": ["stdio", "--api-key=YOUR_GAIA_API_KEY"] } } }
If you prefer to use npx (no installation):
{ "mcpServers": { "gaia-mcp-server": { "command": "npx", "args": ["gaia-mcp-server", "stdio", "--api-key=YOUR_GAIA_API_KEY"] } } }
Replace
YOUR_GAIA_API_KEY
with your actual Gaia API key. -
Restart Claude Desktop
-
Test the Integration:
- Start a new conversation
- Ask Claude to generate an image (e.g., "Generate an image of a sunset over mountains")
- You should see the image appear in your conversation
For more detailed instructions and troubleshooting, see our .
Using Stdio Method
The stdio method is useful for direct communication with the server via standard input/output streams, typically used when integrating with CLI tools or developing locally.
To start the server in stdio mode:
# Using npx
npx @ather-mcp/gaia-mcp-server stdio --api-key=your-api-key
# Using globally installed package
gaia-mcp-server stdio --api-key=your-api-key
You can also specify a custom API URL:
npx @ather-mcp/gaia-mcp-server stdio --api-key=your-api-key --api-url=https://your-custom-api-url
With the stdio method, communication with the server happens through stdin/stdout, following the MCP protocol format.
Example of sending a message through stdio:
{ "type": "message", "data": { "content": "Your message content here" } }
Using SSE Method
The SSE method allows for server-sent events communication over HTTP, making it suitable for web applications.
To start the server in SSE mode:
# Using npx
npx @ather-mcp/gaia-mcp-server sse
# Using globally installed package
gaia-mcp-server sse
The server will start on the port specified in your .env file (default: 3000).
Connecting to the SSE Server
To establish an SSE connection:
- Create an EventSource connection to
/sse
endpoint with your Gaia's account API Key. More information about creating your API key can be found at here. - Send messages via POST requests to
/messages
endpoint
Client-side JavaScript example:
// Establish SSE connection
const eventSource = new EventSource('http://localhost:3000/sse?apiKey=your-gaia-account-api-key');
const sessionId = ''; // Will be populated from the first message
// Listen for messages
eventSource.onmessage = event => {
const data = JSON.parse(event.data);
// Store session ID from first message
if (data.sessionId && !sessionId) {
sessionId = data.sessionId;
}
console.log('Received:', data);
};
// Send a message
async function sendMessage(content) {
await fetch('http://localhost:3000/messages', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
sessionId,
message: {
type: 'message',
data: { content },
},
}),
});
}
Understanding MCP
The Model Context Protocol (MCP) is a standardized communication protocol that enables LLMs to interact with external tools and services. More information can be found at modelcontextprotocol.io.
Key MCP concepts:
- Messages: The basic unit of communication in the protocol
- Tools: Functions that can be called by the model
- Transport Layers: Methods of communication (stdio, SSE, etc.)
- Sessions: Stateful interactions between the model and server
This server implementation uses the @modelcontextprotocol/sdk
package to handle the protocol details.
API Endpoints
When running in SSE mode, the following endpoints are available:
GET /sse
: Establishes an SSE connectionPOST /messages
: Sends messages to the serverGET /health
: Health check endpointGET /
: Basic information about the server
Supported Tools
The Gaia MCP Server provides several AI image generation and manipulation tools that can be called by LLMs:
- upload-image: Upload images to the Gaia platform from URLs
- create-style: Create a new style in the Gaia platform using provided images
- generate-image: Generate images with Protogaia based on text prompts
- remix: Create new variations of an existing image
- face-enhancer: Enhance face details in an existing image
- upscaler: Enhance the resolution quality of image
Each tool is registered with the MCP server and can be invoked according to the Model Context Protocol standard.
License
Apache License 2.0
Notice
- To utilize the generative image functionality, the user must possess GAIA credits. You can check your remaining credits and purchase more here.