Skip to content

feat: expose MCP over HTTP#142

Merged
ecarreras merged 3 commits into
mainfrom
issue-140-http-mcp
Jun 24, 2026
Merged

feat: expose MCP over HTTP#142
ecarreras merged 3 commits into
mainfrom
issue-140-http-mcp

Conversation

@pilipilisbot

@pilipilisbot pilipilisbot commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • expose the read-only MCP server over dashboard HTTP at POST /api/mcp
  • authenticate MCP HTTP requests with existing hashed MCP bearer tokens
  • show whether the MCP dashboard URL is configured, forwarded by the proxy, or still missing a public URL
  • update the MCP dashboard setup guide and docs so remote agents use the public /api/mcp endpoint without installing gab
  • remove local stdio fallback guidance from the dashboard and MCP docs so HTTP MCP is the only documented agent connection path

Tests

  • npm test -- src/main.test.tsx (42 passed)
  • npm run build
  • PYTHONPATH=src ../github-agent-bridge/.venv/bin/pytest -q tests/test_mcp.py tests/test_backend.py::test_dashboard_status_reports_configured_public_url tests/test_backend.py::test_dashboard_status_reports_forwarded_public_url (5 passed)

Follow-up to #141 / #140.

Screenshot

mcp-public-url.png

Co-authored-by: ecarreras <294235+ecarreras@users.noreply.github.com>
@ecarreras

Copy link
Copy Markdown
Owner

@pilipilisbot la url entenc que serà la pública, la captura semblança privada i això ja t'ho havia comentat

Expose the dashboard URL source in status responses and show it on the MCP setup page so admins can distinguish configured/forwarded public URLs from request-derived local URLs. Warn before sharing request-derived URLs with remote agents.

Co-authored-by: ecarreras <294235+ecarreras@users.noreply.github.com>
@pilipilisbot

Copy link
Copy Markdown
Owner Author

Fixed in 17a51eb.

  • /api/status now reports whether the dashboard URL came from GITHUB_AGENT_BRIDGE_DASHBOARD_PUBLIC_URL, forwarded proxy headers, or the raw request.
  • The MCP setup page shows that source next to the public dashboard URL and warns admins before sharing a request-derived/local URL with remote agents.
  • I updated the PR body screenshot to show the configured public URL (https://bridge.example.com/...) instead of a private-looking address.

Checks are green: pytest (3.11), pytest (3.12), and dashboard all passed on the pushed commit. Local verification also passed with PYTHONPATH=src ../github-agent-bridge/.venv/bin/pytest -q, npm test, and npm run build.

@ecarreras

Copy link
Copy Markdown
Owner

@pilipilisbot per mi pots eliminar el local fallback

Co-authored-by: ecarreras <294235+ecarreras@users.noreply.github.com>
@pilipilisbot

Copy link
Copy Markdown
Owner Author

Implemented in 590a448.

  • Removed the local stdio fallback card from the MCP dashboard setup flow.
  • Updated docs/mcp.md so the documented agent connection path is the public HTTP /api/mcp endpoint, without installing or launching gab on the agent host.
  • When the dashboard URL is still request-derived, the UI now treats it as missing public URL configuration and does not show the localhost/request-derived MCP endpoint as usable agent config.
  • Updated the checked-in dashboard static bundle and PR body summary/tests.

Verification is green: npm test -- src/main.test.tsx, npm run build, the targeted Python MCP/status tests, and GitHub checks dashboard, pytest (3.11), and pytest (3.12) all passed.

I also captured a refreshed local screenshot of /mcp, but could not replace the PR body image because gh-image has no GitHub web session token available in this runner (GH_SESSION_TOKEN is absent). I left the existing PR body image in place rather than linking a local/private path.

@ecarreras ecarreras merged commit fc5eac9 into main Jun 24, 2026
3 checks passed
@ecarreras ecarreras deleted the issue-140-http-mcp branch June 24, 2026 14:36
@pilipilisbot

Copy link
Copy Markdown
Owner Author

Post-merge cleanup complete for PR #142.

  • Merged as fc5eac9ef41ddba266b2bf4101ff2819b07ab535.
  • Removed the clean dedicated worktree at /home/openclaw/.openclaw/workspace/github/github-agent-bridge-issue140-http.
  • Left the canonical checkout untouched; it has unrelated local modifications outside this merged PR cleanup.

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.

2 participants