Skip to content

feat: accept inline JSON in EXPERIMENTAL_MCP_EVENTS_SCHEMA - #1188

Closed
alexluong wants to merge 31 commits into
feat/mcp-schemasfrom
feat/mcp-events-env
Closed

alexluong wants to merge 31 commits into
feat/mcp-schemasfrom
feat/mcp-events-env

Conversation

@alexluong

@alexluong alexluong commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Let operators who configure Outpost through environment variables only define MCP events, without a mounted file.

Stacked on #1182. Experimental.

Changes

  1. Inline JSON. In the environment, an EXPERIMENTAL_MCP_EVENTS_SCHEMA value that starts with { is read as the definitions themselves, in the same events/list format and with the same strict JSON parsing and validation as a .json file. Any other value is a file path, as before.
  2. Docs. The configuration table row, the config description and .env.example show the inline form.

Behavior changes

Tests

internal/config tests (TestMCPEvents_InlineJSONInEnv): inline JSON loads (also with leading whitespace) and wins over the YAML mapping; invalid JSON and a missing events list are rejected with an error that names EXPERIMENTAL_MCP_EVENTS_SCHEMA; an empty list defines no events.

🤖 Generated with Claude Code

alexluong and others added 13 commits October 30, 2026 21:56
…lowed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	internal/config/mcp.go
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Event definitions use the MCP events/list format and are set with
MCP_EVENTS_SCHEMA. Arguments match top-level data fields by equality,
and subscriptions without a defined event are refused.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

# Conflicts:
#	internal/config/mcp.go
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@alexluong
alexluong force-pushed the feat/mcp-events-env branch from 00a3faa to cc579f0 Compare October 30, 2026 19:57
@alexluong alexluong changed the title feat: accept MCP event definitions as JSON in MCP_EVENTS feat: accept inline JSON in EXPERIMENTAL_MCP_EVENTS_SCHEMA Oct 30, 2026
@alexluong
alexluong marked this pull request as ready for review October 30, 2026 19:57
@alexluong

Copy link
Copy Markdown
Collaborator Author

Inline JSON for EXPERIMENTAL_MCP_EVENTS_SCHEMA is now part of #1182, which adds the key: #1182

@alexluong alexluong closed this Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant