Skip to content

docs: add Bourdon as stdio MCP server example in mcp.example.json#1363

Open
ryandavispro1-cmyk wants to merge 2 commits into
FoundationAgents:mainfrom
ryandavispro1-cmyk:add-bourdon-mcp-example
Open

docs: add Bourdon as stdio MCP server example in mcp.example.json#1363
ryandavispro1-cmyk wants to merge 2 commits into
FoundationAgents:mainfrom
ryandavispro1-cmyk:add-bourdon-mcp-example

Conversation

@ryandavispro1-cmyk
Copy link
Copy Markdown

@ryandavispro1-cmyk ryandavispro1-cmyk commented May 9, 2026

Summary

The current config/mcp.example.json only shows the sse transport. This PR adds a second entry showing the stdio transport shape alongside it. Concrete second example, no behavior change.

The new entry points at Bourdon, a cross-agent memory federation server that speaks MCP via fastmcp's stdio default. Once a user has pip install bourdon in their environment, the entry as written makes seven tools available to the OpenManus agent — query_agent_memory, list_recent_work, find_entity, get_cross_agent_summary, prepare_recognition_context, get_deeper_context, and (v0.6.0+) commit_to_federation — plus the agent-library:// MCP resources.

Diff

       },
+      "bourdon": {
+        "type": "stdio",
+        "command": "bourdon",
+        "args": ["serve", "--quiet"]
+      }

5 lines added to a JSON example file. No code changes elsewhere.

Why

Three reasons this fits as an example rather than just docs:

  1. Documents both transports the MCPRunner supports. The existing example only covers sse; adding a stdio entry alongside makes the file a more complete reference for new users learning the schema.
  2. Real, runnable second example. Anyone with Python on their machine can pip install bourdon && bourdon serve --quiet and see the entry work — no separate service needs to be running.
  3. No coupling to Bourdon. The example doesn't make Bourdon a dependency or change OpenManus behavior in any way. It's a documentation/example-content change.

PATH gotcha

MCP hosts launch stdio servers as subprocesses with a minimal PATH — often just system defaults, not the user's shell. If bourdon lives in a venv, the bare "command": "bourdon" won't resolve and the server will silently fail to start. The fix is the same pattern other MCP integration docs use (e.g., Bourdon's docs/integrations/claude-desktop.md and docs/integrations/claude-code.md): replace "command": "bourdon" with the absolute path to the venv's bourdon binary, e.g.:

{
  "command": "/Users/you/.venv/bin/bourdon",
  "args": ["serve", "--quiet"]
}

Run which bourdon (macOS/Linux) or Get-Command bourdon (Windows PowerShell) in the venv to find the right path.

Integration guide

Full walkthrough on the Bourdon side: https://github.com/getbourdon/bourdon/blob/main/docs/integrations/openmanus.md. Includes the visibility model, the sse fallback (HTTP transport for users running L6 as a long-lived service), verification steps, and tradeoffs.

Test plan

  • JSON validates (no syntax errors)
  • Diff is purely additive (no removed entries, no semantic change)
  • Command (bourdon serve --quiet) matches Bourdon's canonical integration docs for Claude Desktop, Claude Code, and Cursor
  • CI green
  • Cross-referenced from Bourdon's docs/integrations/openmanus.md and docs/agent-integration-status.md

Happy to drop the new entry from the example if you'd prefer the example file stay single-entry; in that case I'll move it to a new config/mcp.example-stdio.toml so the stdio shape still has a documented home.

🤖 Generated with Claude Code

Adds a second entry to the example showing the stdio transport shape
alongside the existing sse example. Bourdon (https://bourdon.ai) is
a cross-agent memory federation server that speaks MCP via fastmcp's
stdio default; users with `pip install bourdon` get six tools
(query_agent_memory, list_recent_work, find_entity,
get_cross_agent_summary, prepare_recognition_context,
get_deeper_context) once they wire this entry into config/mcp.json.

Why include it as an example: the current mcp.example.json only shows
the sse transport. Adding a stdio entry alongside it documents both
shapes the MCPRunner supports and gives users a concrete, runnable
second example.

Integration guide on the Bourdon side:
https://github.com/getbourdon/bourdon/blob/main/docs/integrations/openmanus.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ryandavispro1-cmyk
Copy link
Copy Markdown
Author

Check

ryandavispro1-cmyk

This comment was marked as duplicate.

…CLI)

The previous `python -m core.l6_server` invocation still works against
a pip-installed bourdon, but it has two downsides for an example file:

1. The `core.l6_server` entry point does not accept `--quiet`, so the
   onboarding banner is always printed. When the server is launched as
   an MCP stdio subprocess (which this example is for) any of that
   banner leaking to stdout corrupts the MCP framing.
2. Bourdon v0.5.0 shipped a proper `bourdon` CLI with a `serve`
   subcommand. Every other published integration (Claude Desktop,
   Claude Code, Cursor) uses `bourdon serve --quiet`. Anchoring this
   example to the older module-style invocation drifts OpenManus's
   docs from Bourdon's canonical recommendation.

Both forms remain functional; this just aligns the example with
Bourdon's published integration docs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ryandavispro1-cmyk added a commit to getbourdon/bourdon that referenced this pull request May 13, 2026
…to_federation, PATH gotcha (#60)

Three things drift between this doc and current Bourdon state:

1. The doc still shows `python -m core.l6_server` as the canonical
   command. v0.5.0 shipped the `bourdon` CLI with a `serve` subcommand;
   every other published integration doc (Claude Desktop, Claude Code,
   Cursor) uses `bourdon serve --quiet`. This doc was the odd one out,
   and the inconsistency was caught when filing the equivalent stdio
   example over on FoundationAgents/OpenManus#1363 — that PR uses
   `bourdon serve --quiet` per the canonical pattern.

2. The tool table only lists six read-side tools. v0.6.0 (shipped
   2026-05-11) added `commit_to_federation`, the write-side tool that
   lets cloud-only agents like OpenManus contribute to the federation
   directly via MCP without needing a Bourdon-side adapter.

3. No PATH-gotcha note. MCP subprocesses inherit a minimal PATH, so
   `"command": "bourdon"` silently fails for users whose Bourdon lives
   in a venv. Both `claude-desktop.md` and `claude-code.md` document
   this; this doc didn't.

Changes:

- Tool table gains a row for `commit_to_federation`.
- Prerequisites step 1 swaps `pip install bourdon (currently 0.3.0)` for
  `pip install 'bourdon[server]'` (no version pin — drifts less) and
  drops the dual `bourdon` + `python -m core.l6_server` requirement
  in favor of just the CLI.
- Prerequisites step 3 verification: `bourdon serve --quiet` instead
  of `python -m core.l6_server --library ~/agent-library`.
- Three config blocks updated: default stdio, stdio with `--library`,
  and the HTTP/sse fallback command. All three now use
  `bourdon serve [--quiet]` instead of `python -m core.l6_server`.
- Troubleshooting bullet about Python paths replaced with a pointer
  to the new PATH gotcha section.
- New PATH gotcha section at the end mirroring the same content
  in `claude-desktop.md` and `claude-code.md`. Documents the
  absolute-venv-path fix.

No content changes to the visibility model, tradeoffs, or related
sections. This is a CLI-pattern + version + missing-tool update,
not a rewrite.

Related: FoundationAgents/OpenManus#1363 — the upstream stdio
example was updated to the same `bourdon serve --quiet` command in
the same cleanup pass.

Co-authored-by: ryandavispro1-cmyk <256240553+ryandavispro1-cmyk@users.noreply.github.com>
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