DataRelay Link MCP Relay
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DataRelay Link MCP RelayList my DataRelay Link resources"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
datarelay-link-plugin
ChatGPT Plus / Codex Agent Plugins package and single-user MCP relay PoC for DataRelay Link.
License — Source Available: licensed under the Data Relay Source Available License 1.0 (not Apache-2.0 / not OSI open source). See LICENSE and LICENSING.md.
Core DRLink continues to work without this repository. Direct DRLink MCP remains supported for clients that allow arbitrary remote MCP endpoints. This repo exists so ChatGPT Plus can use DataRelay Link through a published Plugin/App path.
Architecture
ChatGPT Plus
-> DataRelay Link Plugin
-> MCP relay (this repo)
-> bound DRLink Server MCP
-> DRLink AI Access
-> Managed HostThe relay is transport/binding only. DRLink Server remains the final authorization source of truth on every tool call.
See docs/architecture.md and docs/openai-plugin-assumptions.md.
Related MCP server: chatgpt-web-agent
Repository layout
Path | Purpose |
| Portable Agent Plugins package (Remote MCP-only) |
| Single-user Streamable HTTP MCP relay PoC |
| Vendored Agent Plugins JSON Schemas for local validation |
| Architecture, auth seam, verified OpenAI assumptions |
| DataRelay Engineering System adoption |
Local relay (PoC)
Mock mode (loopback / local tests)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export DRLINK_RELAY_UPSTREAM_URL="http://127.0.0.1:9000/mcp"
export DRLINK_RELAY_ALLOW_LOOPBACK_UPSTREAM=1
export DRLINK_RELAY_UPSTREAM_TOKEN="replace-me"
export DRLINK_RELAY_AUTH_MODE=mock
export DRLINK_RELAY_MOCK_PLUGIN_TOKEN="dev-plugin-token"
export DRLINK_RELAY_BIND=127.0.0.1
export DRLINK_RELAY_PORT=8741
PYTHONPATH=. python3 -m relayMCP: POST http://127.0.0.1:8741/mcp with Authorization: Bearer dev-plugin-token
OAuth mode (single-user ChatGPT-compatible PoC)
export DRLINK_RELAY_UPSTREAM_URL="http://127.0.0.1:9000/mcp"
export DRLINK_RELAY_ALLOW_LOOPBACK_UPSTREAM=1
export DRLINK_RELAY_UPSTREAM_TOKEN="replace-me"
export DRLINK_RELAY_AUTH_MODE=oauth
export DRLINK_RELAY_PUBLIC_BASE_URL="http://127.0.0.1:8741"
export DRLINK_RELAY_OWNER_APPROVAL_SECRET="replace-with-long-runtime-secret"
export DRLINK_RELAY_OAUTH_STATE_PATH="/var/lib/datarelay-link-plugin/oauth-state.json"
export DRLINK_RELAY_BIND=127.0.0.1
export DRLINK_RELAY_PORT=8741
PYTHONPATH=. python3 -m relayFor local ephemeral tests only (loopback), set
DRLINK_RELAY_OAUTH_ALLOW_EPHEMERAL=1 instead of a state path. Public / non-loopback
OAuth always requires a durable state file (mode 0600, parent dir not
group/world-writable).
Discovery:
GET /.well-known/oauth-protected-resourceGET /.well-known/oauth-authorization-server
Owner consent uses the runtime approval secret (never commit it). Public HTTPS deployment URLs remain configurable; this repo does not claim public Plugin availability.
Health: GET /health (reports auth_mode, never secrets).
The default mock token is loopback-only. Non-loopback bind should use oauth
mode. Legacy mock-on-public requires both DRLINK_RELAY_ALLOW_NON_LOOPBACK_BIND=1
and an explicit non-default DRLINK_RELAY_MOCK_PLUGIN_TOKEN.
mcp.json points at the local PoC relay URL. Production HTTPS (mcp.datarelay.run)
and Plugin Directory submission remain out of scope.
Tests
pip install -r requirements-dev.txt
PYTHONPATH=. python3 -m unittest discover -s tests -vAuth seam
See docs/auth-seam.md for mock vs single-user OAuth PoC vs future multi-user identity. Do not treat mock tokens as production credentials.
Security constraints
Never commit OAuth client secrets, upstream tokens, or DRLink private keys.
Relay audit logs redact
Authorizationand token-like fields.Upstream URL is an explicit allowlisted binding with SSRF-resistant validation.
Upstream TCP connects use bind-time resolved IPs (DNS-rebinding / TOCTOU resistant); HTTPS keeps hostname SNI/certificate verification.
No generic open proxy; unbound identities are rejected.
This server cannot be deployed
Maintenance
Related MCP Connectors
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables ChatGPT to operate a DreamAgent account via MCP, allowing creation and management of projects (Telegram/Discord bots, websites, schedulers) and conversational build/edit/debug through DreamAgent's AI agent.-
- AlicenseAqualityBmaintenanceEnables ChatGPT web to use local tools like file reading, command execution, and patch application through an MCP server over OpenAI Secure MCP Tunnel.61MIT
- AlicenseNot gradedqualityAmaintenanceEnables ChatGPT to securely control remote development servers over OAuth-protected MCP, exposing workspace-bounded tools for file editing, command execution, Git operations, and running Codex or GitHub Copilot subagents.80 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables ChatGPT Web to discover and invoke native local Codex tools via OpenAI's Secure MCP Tunnel, with the local host executing commands and returning results.3MIT