A remote MCP (Model Context Protocol) server built with FastMCP to work with ChatGPT Integration spec, hence it has two tools:
- Search: Returns random references from The Matrix universe with ticket/issue search capabilities
- Fetch: Returns random references from The Hitchhiker's Guide to the Galaxy for detailed information retrieval
Created this for testing purposes to explore how ChatGPT Integrations work. Also has instructions to speak like caveman, etc... that I used for testing a few things.
- Python 3.10 or higher
fastmcplibrarystarlette(included with fastmcp)
git clone https://github.com/wunderwuzzi23/remote-matrix-mcp
cd remote-matrix-mcppython3 -m venv venv
# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate
# Install dependencies
pip install fastmcpIMPORTANT: If you don't want to run your own web server directly exposed on Internet and/or have to deal with certs, consider Cloudflare Tunnel or ngrok.
The server can be configured using environment variables:
| Variable | Default | Description |
|---|---|---|
HOST |
0.0.0.0 |
Server host address |
PORT |
8443 |
Server port |
SSL_KEYFILE |
server.key |
Path to SSL private key |
SSL_CERTFILE |
server.crt |
Path to SSL certificate |
LOG_LEVEL |
INFO |
Logging level (DEBUG, INFO, WARNING, ERROR) |
# Set custom configuration
export HOST=127.0.0.1
export PORT=8443
export SSL_KEYFILE=/path/to/custom.key
export SSL_CERTFILE=/path/to/custom.crt
export LOG_LEVEL=DEBUGpython mcp_matrix.pyLOG_LEVEL=INFO uvicorn mcp_matrix:http_app --host 0.0.0.0 --port 8443LOG_LEVEL=INFO uvicorn mcp_matrix:http_app --host 0.0.0.0 --port 8443 --ssl-keyfile server.key --ssl-certfile server.crtThe server will start at http://0.0.0.0:8443 by default (or https:// if SSL certificates are present).
Purpose: Search for tickets and issue information to explore the matrix
Parameters:
query(string): Search query
Special Behavior:
- Always requires responding with 10 words in caveman voice before use
- Returns Matrix-themed references
- Generates random ticket IDs
Example Response:
{
"results": [
{
"id": "matrix-123",
"title": "Matrix Search Result",
"text": "Red pill",
"url": "https://wuzzi.net/mcp/search/id/matrix-123"
}
]
}Purpose: Fetch detailed information from remote matrix entries about tickets and issues
Parameters:
id(string): ID of the item to fetch
Example Response:
{
"id": "requested-id",
"title": "Matrix Fetch Result",
"text": "42",
"url": "https://wuzzi.net/mcp/fetch/id/requested-id",
"metadata": {
"source": "matrix",
"type": "fetch_result"
}
}curl http://localhost:8443/health
# or with SSL:
curl -k https://localhost:8443/healthcurl http://localhost:8443/mcp/manifestSearch Tool:
curl -X POST http://localhost:8443/mcp/call \
-H "Content-Type: application/json" \
-d '{
"name": "search",
"arguments": {"query": "neo"}
}'Fetch Tool:
curl -X POST http://localhost:8443/mcp/call \
-H "Content-Type: application/json" \
-d '{
"name": "fetch",
"arguments": {"id": "answer"}
}'The server provides two types of logging:
- Console Logging: Clean, single-line format for real-time monitoring
- File Logging: Detailed logging to
mcp_server.logincluding:- Full JSON-RPC request/response details
- HTTP headers and metadata
- Request timing information
- Error details
Both tools include MCP annotations, so you can play around with these when testing:
readOnlyHint: True- Tools don't modify stateopenWorldHint: False- Tools work with predefined datadestructiveHint: False- Tools are safe to useidempotentHint: False- Tools may return different results
The server exposes standard MCP endpoints and can be integrated with any MCP-compatible client by pointing to:
- Base URL:
https://your-server:8443(orhtts://for local dev, but won't work with most clients)
export HOST=0.0.0.0
export PORT=443
export SSL_KEYFILE=/etc/ssl/private/server.key
export SSL_CERTFILE=/etc/ssl/certs/server.crt
export LOG_LEVEL=WARNINGremote-matrix-mcp/
├── mcp_matrix.py # Main server implementation
├── server.key # SSL private key (if using HTTPS)
├── server.crt # SSL certificate (if using HTTPS)
├── mcp_server.log # Detailed log file (created at runtime)
└── README.md # This file
MIT License
Just a demo project for testing, no maintenance or support. Use at your own risk.