From Hubdustry (reference)
The Hubdustry-shaped fixture is the reference adapter - included to validate the migration framework end-to-end against a known-zero-overlap source. It does not migrate any Discord tools because the fixture has none.
Source
Section titled “Source”- Original upstream:
jhm1909/Hubdustry(no longer publicly reachable when rechecked on 2026-08-11) - Reference fixture: bundled synthetic fixture
- Language: Go (
mcp.NewTool(...)registration pattern) - Tool count: 5 tools in the bundled fixture - all file or deploy administration. Zero Discord tools.
- Adapter source:
packages/mcp-server/src/lib/migrate-adapters/hubdustry-go-mcp.ts
What this is
Section titled “What this is”The bundled synthetic fixture models a Go MCP server for server administration: file operations and deploy triggers. It lives in a different problem space from discord-mcp entirely.
It is the reference adapter - the simplest possible
implementation of the MigrationSource interface, with an empty NAME_MAP
and a Go-specific extraction regex. Running it against the bundled reference
fixture produces:
mapped: 0unmapped: 5 (all fixture tools)manual: 0warnings: []That’s the intended output. It demonstrates the framework working end-to-end while honestly reporting that there’s nothing to translate.
Why mostly unmapped
Section titled “Why mostly unmapped”discord-mcp is a Discord REST + Gateway server. The fixture’s tools
(server.files.read, server.deploy.trigger, server.deploy.status, etc.)
have no Discord equivalents - they belong in a different MCP server entirely.
What you actually need
Section titled “What you actually need”If you’re a Hubdustry user adding Discord capabilities to your agent:
-
Don’t migrate anything. discord-mcp and Hubdustry MCP are complementary, not competing.
-
Install discord-mcp alongside Hubdustry. Both can be registered with the same MCP client (Claude Desktop, Cline, etc.) - they expose disjoint tool surfaces. Your agent can call both in the same conversation.
-
Use
discord-mcp initto generate the discord-mcp client config:Terminal window discord-mcp init --client claude-desktopMerge the printed snippet, set
DISCORD_TOKEN, then restart your MCP client. You now have N+1 servers configured, with discord-mcp’s current registered tools added next to the server-administration tools exposed by your Hubdustry deployment.
Test the framework
Section titled “Test the framework”Even though there’s nothing to translate, running the adapter against the bundled fixture is a useful smoke test for the migration framework itself
- it confirms that detection, file walking, and tool extraction all work on a Go codebase:
git clone --depth 1 https://github.com/cappyeo/discord-mcp.git ~/discord-mcpdiscord-mcp migrate --from hubdustry-go-mcp \ --source ~/discord-mcp/packages/mcp-server/test-fixtures/hubdustry-go-mcpExpected output: 5 unmapped tools, 0 mapped, 0 manual review, and exit code 1 by design. The adapter completed successfully; code 1 reports tools that still need review, not an adapter or runtime failure.
If you’re authoring a new adapter, this is also a useful negative test:
your adapter’s detect() MUST return false against the Hubdustry fixture,
and the Hubdustry adapter MUST return false against yours. See the
adapter authoring guide for the
cross-detection pattern.
See also
Section titled “See also”- Adapter authoring guide - Hubdustry is the canonical “empty NAME_MAP” example for new adapter authors.
- discord-mcp tools (209) - what you get if you install discord-mcp alongside Hubdustry.
- CLI reference:
migrate- flags and exit codes (the1for non-empty unmapped is normal here).

