OpsGuide MCP Proxy
A stateless Model Context Protocol (MCP) server proxy for OpsGuide's Amazon Bedrock AgentCore Runtime. This proxy creates fresh connections for each request, ensuring no sessions are maintained.
Overview
This stateless proxy server acts as a bridge between:
- MCP clients (like Claude Desktop, Cursor) that communicate via stdio
- Amazon Bedrock AgentCore Runtime that hosts your MCP server via HTTP
Claude Desktop ↔ opsguide-mcp (stateless proxy) ↔ Fresh HTTP Connection ↔ Bedrock AgentCore ↔ Your Tools
Key Features
- ✅ Stateless Design: No persistent connections or sessions
- ✅ Fresh Connections: Each request creates a new connection to Bedrock
- ✅ Tool Proxying: Forwards
list_toolsandcall_toolrequests - ✅ Simple Configuration: Only requires API_KEY
Features
- Protocol Bridge: Converts between stdio (MCP client) and HTTP (Bedrock AgentCore)
- Tool Proxying: Forwards all tool calls to your Bedrock-hosted MCP server
- Resource Access: Proxies resource reading and listing
- Prompt Support: Forwards prompt operations
- uvx Compatible: Easy installation and usage with
uvx - Environment Configuration: Uses standard environment variables
Prerequisites
- Python 3.10 or higher
uvpackage manager- Amazon Bedrock AgentCore Runtime with deployed MCP server
- Valid API key and agent ARN
Installation
For Claude Code
Add this configuration to your Claude Code MCP settings:
{
"mcpServers": {
"opsguide-mcp": {
"command": "uvx",
"args": ["opsguide-mcp@latest"],
"env": {
"API_KEY": "your-bearer-token"
}
}
}
}
Direct Installation
# Install with uvx (recommended)
uvx opsguide-mcp
# Or install with pip
pip install opsguide-mcp
Environment Variables
Only one environment variable is required:
API_KEY: The bearer token for authentication
Hardcoded Configuration:
AGENT_ARN:arn:aws:bedrock-agentcore:us-east-1:654654574429:runtime/opsguide_mcp_server_example-feNooQ7JbBAWS_REGION:us-east-1
Example .env file
API_KEY=eyJraWQiOiI3RG1ZaXlQbnpoUXR6cmRXNmtvWEd5anhaZU9FaitXcHBpck1rcDlvbHFjPSIsImFsZyI6IlJTMjU2In0...
Usage
With Claude Code
- Configure the MCP server in Claude Code settings (see installation section)
- Restart Claude Code
- Your Bedrock-hosted MCP tools will be available in Claude Code
Command Line
# Run directly
opsguide-mcp
# Run with uvx
uvx opsguide-mcp
# Run with environment variable
API_KEY="your-bearer-token" opsguide-mcp
How It Works
- Startup: The proxy server reads your environment variables
- Connection: Establishes HTTP connection to Bedrock AgentCore Runtime
- Discovery: Lists available tools, resources, and prompts from your MCP server
- Proxying: Forwards all MCP requests from Claude Code to Bedrock AgentCore
- Response: Returns results back to Claude Code via stdio
Troubleshooting
Common Issues
Connection Failed
- Verify your
API_KEYis correct and not expired - Check that your Bedrock AgentCore runtime is running
- Ensure you have network access to bedrock-agentcore.us-east-1.amazonaws.com
No Tools Available
- Check that your MCP server is properly deployed in Bedrock AgentCore
- Verify the runtime is in "DEFAULT" qualifier state
- Check logs for connection errors
Authentication Errors
- Ensure your API_KEY (bearer token) is valid and not expired
- Verify the token has permission to invoke the specified runtime
Debug Mode
Run with debug logging:
PYTHONPATH=. python -m bedrock_mcp_proxy.server
Development
Local Development
# Clone the repository
git clone https://github.com/your-username/opsguide-mcp
cd opsguide-mcp
# Install dependencies
uv sync
# Run locally
uv run opsguide-mcp
Testing
# Test the connection
python test_connection.py
Security Considerations
- API Keys: Store API keys securely using environment variables or secure credential management
- Network Access: The proxy requires outbound HTTPS access to AWS Bedrock AgentCore
- Authentication: Bearer tokens should be rotated regularly
- Logging: Be careful not to log sensitive information
License
MIT License - see LICENSE file for details.
Support
For issues related to:
- This proxy: Open an issue on this repository
- Bedrock AgentCore: Consult AWS documentation
- Claude Code: Check Claude Code documentation
Metadata
Release files for opsguide-mcp 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| opsguide_mcp-0.1.4.tar.gz | 5.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opsguide_mcp-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.1 kB
Release files / opsguide_mcp-0.1.4.tar.gz
| Download URL | opsguide_mcp-0.1.4.tar.gz |
|---|---|
| Size | 5.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ebce728c853117cb0275722b14d836426d186c092274717f5a6e67b135332205
|
|
BLAKE2b-256 checksum How to use checksums |
22ff374d2f0737d3bed52f133aeef07467bc16c085110ebe92b152246e4bd5b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.15
|
Release files / opsguide_mcp-0.1.4-py3-none-any.whl
| Download URL | opsguide_mcp-0.1.4-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f7641832e656c753243a9a1d33aa36a0ed1341d7ebff667104c75d87e617b110
|
|
BLAKE2b-256 checksum How to use checksums |
290fe50607a3c243cc605a8783ae19e5fcd46cb2be0b66ac1b3a4600f98267cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.15
|
Security for opsguide-mcp 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.