You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wire the existing internal/sources/mcp.Importer into the acp-server binary so users with existing MCP servers can plug them in via a single config file or repeated CLI flag, no Go code required.
Today the import flow works (verified end-to-end via cmd/import-demo) but acp-server boots with a 5-tool seed registry. Anyone with real MCP servers in production has to vendor the importer into a custom main.go. That's the wrong surface for an OSS install.
Proposed
Two equivalent ways to declare upstream MCP sources:
README "Use with your existing MCP servers" updated to use these flags as the primary path; the Go-importer demo demoted to "if you need to embed the importer in your own binary".
Integration test in tests/ that boots the fake MCP server (scripts/fake-mcp.py), starts acp-server with --mcp-source, and asserts the imported tools appear in /v1/context responses.
Why P0 for v0.1.1
This is the gap between "demo" and "you can actually use this against your stack." The README already promises the integration; we need the binary to deliver it without a Go vendoring step.
What
Wire the existing
internal/sources/mcp.Importerinto theacp-serverbinary so users with existing MCP servers can plug them in via a single config file or repeated CLI flag, no Go code required.Today the import flow works (verified end-to-end via
cmd/import-demo) butacp-serverboots with a 5-tool seed registry. Anyone with real MCP servers in production has to vendor the importer into a custommain.go. That's the wrong surface for an OSS install.Proposed
Two equivalent ways to declare upstream MCP sources:
A. Repeated CLI flag
acp-server --addr :8080 \ --mcp-source name=files,url=http://localhost:9090,caps=filesystem \ --mcp-source name=github,url=http://gh-mcp.internal:9100,auth='bearer ${GITHUB_TOKEN}',caps=gitB.
sources.yaml(preferred for >2 sources)Acceptance
--mcp-sourceflag, repeatable, parses the samekey=value,key=valueshape ascmd/import-demo.--sources-fileflag accepts YAML, env-var expansion via${VAR}.--reimport-intervalflag (default0= never) for periodic refresh./v1/sourcesintrospection endpoint returns[{name, url, last_imported_at, tool_count, last_error}].tests/that boots the fake MCP server (scripts/fake-mcp.py), startsacp-serverwith--mcp-source, and asserts the imported tools appear in/v1/contextresponses.Why P0 for v0.1.1
This is the gap between "demo" and "you can actually use this against your stack." The README already promises the integration; we need the binary to deliver it without a Go vendoring step.
Out of scope
sources.yamlwithout restart (tracked for v0.2).