This is a Model Context Protocol (MCP) server that allows Claude to make API requests on your behalf. It provides tools for testing various APIs, including a dedicated integration with OpenAI's APIs.
- Make HTTP requests (GET, POST, PUT, DELETE) to any API
- Test OpenAI's GPT models without sharing your API key in the chat
- Generate images with DALL-E
- Properly formatted responses for easy reading
- Python 3.10 or higher
- MCP SDK 1.2.0 or higher
- Install the required dependencies:
pip install "mcp[cli]" httpx python-dotenv
- Set your OpenAI API key using one of these methods:
# On Windows (PowerShell)
$env:OPENAI_API_KEY = "your-api-key"
# On Windows (Command Prompt)
set OPENAI_API_KEY=your-api-key
# On macOS/Linux
export OPENAI_API_KEY="your-api-key"
Create a .env
file in the project directory (copy from .env.example
):
OPENAI_API_KEY=your_openai_api_key_here
python main.py
Once your server is running, you can connect it to Claude for Desktop by configuring it in the Claude Desktop config file.
Use the get_request tool to fetch data from https://jsonplaceholder.typicode.com/posts/1
Use the post_request tool to send data to https://jsonplaceholder.typicode.com/posts with this JSON body: {"title": "Test Post", "body": "This is a test", "userId": 1}
Use the openai_chat_completion tool with:
prompt: "Write a short poem about artificial intelligence"
system_message: "You are a helpful assistant that writes creative poetry"
model: "gpt-4"
Use the openai_image_generation tool with:
prompt: "A futuristic city with flying cars and tall glass buildings at sunset"
size: "1024x1024"
get_request
: Make GET requests to any URLpost_request
: Make POST requests with JSON bodiesput_request
: Make PUT requests with JSON bodiesdelete_request
: Make DELETE requests
openai_chat_completion
: Generate text using OpenAI's chat modelsopenai_image_generation
: Generate images using DALL-E
- Your OpenAI API key is stored in the server and not exposed in the chat
- API usage will count against your OpenAI quota and may incur charges
- For production use, always set the API key as an environment variable or use a
.env
file - The
.env
file is included in.gitignore
to prevent accidentally committing your API key