A Model Context Protocol (MCP) server that provides access to the Gopher AI API. This server allows MCP clients to search data through the Gopher AI platform.
- Twitter Search: Search Twitter posts using natural language queries
- MCP Integration: Fully compatible with Model Context Protocol clients
- Configurable Results: Adjustable maximum number of search results
- Error Handling: Comprehensive error handling and reporting
- Async Processing: Handles asynchronous API responses with polling
- Go 1.24.7 or later
- Gopher AI API key
- MCP-compatible client (e.g., Claude Desktop, Cline, etc.)
- Clone the repository:
git clone https://github.com/gopher-lab/gopher-mcp-server.git
cd gopher-mcp-server
- Build the server:
go build -o gopher-mcp-server ./data
docker build -t gopher-mcp-server .
GOPHER_API
: Required - Your Gopher AI API keyMAX_RESULTS
: Optional - Maximum number of search results to return (default: 15)
export GOPHER_API="your-gopher-api-key-here"
export MAX_RESULTS="20"
# Using the binary
./gopher-mcp-server
# Using Docker
docker run -e GOPHER_API="your-api-key" gopher-mcp-server
Add this server to your MCP client configuration:
{
"mcpServers": {
"gopher-twitter": {
"command": "./gopher-mcp-server",
"env": {
"GOPHER_API": "your-gopher-api-key-here",
"MAX_RESULTS": "15"
}
}
}
}
{
"mcpServers": {
"gopher-twitter": {
"command": "docker",
"args": ["run", "--rm", "-e", "GOPHER_API=your-api-key", "gopher-mcp-server"],
"env": {
"GOPHER_API": "your-gopher-api-key-here"
}
}
}
}
Searches Twitter posts using the Gopher AI API.
Parameters:
query
(string): The search query to execute
Returns:
tweets
(array): Array of Twitter posts matching the search queryerror
(string, optional): Error message if the search fails
Example Usage:
{
"name": "search_twitter",
"arguments": {
"query": "artificial intelligence trends 2024"
}
}
Response Example:
{
"tweets": [
{
"ID": "tweet_123",
"Content": "Exciting developments in AI this year...",
"Metadata": {...},
"Score": 0.95
}
],
"error": null
}
Each Twitter post in the response contains:
ID
: Unique identifier for the postContent
: The text content of the tweetMetadata
: Additional metadata about the postScore
: Relevance score for the search query
The server handles various error scenarios:
- API Errors: Invalid API keys, rate limiting, service unavailable
- Network Errors: Connection timeouts, network failures
- Processing Errors: Search timeout, invalid responses
Error messages are returned in the error
field of the response.
# Build the server
make build
# Run tests
make test
# Build Docker image
make docker-build
github.com/modelcontextprotocol/go-sdk
: MCP SDK for Gogithub.com/tmc/langchaingo
: Language chain utilities
-
API Key Not Set
- Ensure
GOPHER_API
environment variable is set - Verify the API key is valid and has proper permissions
- Ensure
-
Search Timeout
- The server polls for results up to 30 times (60 seconds total)
- Check if the Gopher AI service is experiencing delays
-
No Results Returned
- Verify the search query is valid
- Check if there are any posts matching your criteria
- Ensure the API key has access to Twitter data
-
MCP Client Connection Issues
- Verify the server binary is executable
- Check that the MCP client configuration is correct
- Ensure the server is running and accessible
Enable verbose logging by setting the log level:
export LOG_LEVEL=debug
./gopher-mcp-server
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
For issues and questions:
- Create an issue on GitHub
- Check the Gopher AI documentation for API-related questions
- Review MCP documentation for protocol-related issues