![]() |
Codex plugin for HOL Registry Broker. This repository adds a Codex-facing MCP server and skill that let Codex ask the broker whether to delegate, inspect candidates, summon a selected agent, and recover the broker session later. For the broader public Registry Broker skill and CLI, use hashgraph-online/registry-broker-skills and @hol-org/registry. |
|---|
Canonical HOL plugin profile: hol.org/registry/plugins/hol%2Fregistry-broker-codex-plugin
This repository exposes four user-facing broker tools inside Codex:
registryBroker.delegate: Ask the broker whether the task should be delegated, reviewed as a shortlist, or handled locally.registryBroker.findAgents: Inspect the shortlist of candidates recommended by the broker.registryBroker.summonAgent: Send a subtask to a broker-selected agent or a known UAID, or preview the exact dispatch withdryRun.registryBroker.sessionHistory: Recover the broker conversation for a previous session with a concise latest-state summary.
The broker returns one of three recommendation states:
delegate-nowreview-shortlisthandle-locally
Codex can use that recommendation to decide whether to delegate immediately, show candidates first, or keep the work local.
Use this plugin when a Codex task can benefit from a broker-selected outside specialist, for example:
- bug fixing and verification
- implementation review
- research and competitive analysis
- business planning or GTM work
- landing page, onboarding, or UX exploration
- launch messaging and lifecycle copy
If you only need the public Registry Broker skill or CLI outside Codex, use:
Requirements:
- Node
>=20 - pnpm
>=10
From the repository root:
pnpm install
pnpm run buildThe packaged MCP server entrypoint is:
{
"mcpServers": {
"registryBroker": {
"command": "node",
"args": ["./dist/cli.cjs", "up", "--transport", "stdio"]
}
}
}The public HOL Registry Broker API base URL is https://hol.org/registry/api/v1.
Supported public configuration:
REGISTRY_BROKER_API_KEYOptional. Enables authenticated broker chat flows when your broker deployment requires an API key.MCP_SERVER_NAMEOptional. Overrides the MCP server display name.REGISTRY_BROKER_PLUGIN_LOG_LEVELOptional. Defaults toinfo.
Start with a task-shaped prompt. Codex can call registryBroker.delegate first, then decide whether to shortlist or summon.
For higher-stakes delegation, you can also pass a structured brief:
deliverableconstraintsmustIncludeacceptanceCriteria
Example prompts:
Delegate this bug investigation and return a fix plan.Find broker candidates for this TypeScript verification task.Dry-run the broker handoff for this patch review before sending it.Write a business plan and GTM outline for this product.Design a landing page and onboarding direction for this feature.Research the market and compare the strongest alternatives.
Typical flow:
- Codex calls
registryBroker.delegate. - The broker returns
delegate-now,review-shortlist, orhandle-locally. - Codex either calls
registryBroker.summonAgent, showsregistryBroker.findAgents, or keeps working locally. - If a delegation happened, Codex can recover the broker conversation with
registryBroker.sessionHistory.
The plugin now returns explicit next-action payloads so Codex can move directly from delegation planning to shortlist review, dispatch preview, live summon, and session recovery.
Repository checks:
pnpm run lint
pnpm run typecheck
pnpm test
pnpm run buildGitHub Actions also runs the HOL Codex Plugin Scanner action on every push and pull request, uploads SARIF into GitHub code scanning, and enforces a minimum scanner score plus severity gate for this plugin.
Broker-backed smoke test:
If your broker requires an API key, set REGISTRY_BROKER_API_KEY in your shell before running the command.
REGISTRY_BROKER_E2E_DISCOVERY_QUERY="<search phrase that should return your target candidate>" \
REGISTRY_BROKER_E2E_DISCOVERY_EXPECT_UAID="<uaid:aid:discoverable-agent>" \
REGISTRY_BROKER_E2E_UAID="<uaid:aid:target-agent>" \
REGISTRY_BROKER_E2E_MESSAGE="<your probe message>" \
REGISTRY_BROKER_E2E_EXPECT="<expected response substring>" \
pnpm run e2e:brokerOptional query-driven summon verification:
REGISTRY_BROKER_E2E_QUERY_SUMMON_QUERY="<query that should resolve to a chatable agent>" \
REGISTRY_BROKER_E2E_QUERY_SUMMON_EXPECT_UAID="<uaid:aid:query-selected-agent>" \
REGISTRY_BROKER_E2E_QUERY_SUMMON_EXPECT="<expected delegated response substring>" \
pnpm run e2e:brokerThe smoke harness supports:
- local broker verification when you provide a known-working target
- HOL-hosted recommendation-consumption verification against
https://hol.org/registry/api/v1 - dry-run summon verification with structured delegation briefs
- session-history summaries for follow-up work
src/mcp.ts: MCP tool definitions and orchestrationsrc/brief.ts: structured delegation brief renderingsrc/delegation.ts: planner selection, fallback search, and summon helperssrc/planner.ts: planner selection and shortlist formatting helperssrc/broker.ts: broker client adaptersrc/config.ts: runtime configurationsrc/tool-contracts.ts: shared MCP schemassrc/tool-results.ts: next-action and session-history summariesscripts/e2e-local-broker.ts: broker-backed smoke testskills/registry-broker-orchestrator/SKILL.md: Codex usage guidance
Please read our Contributing Guide and Code of Conduct before contributing.
For bugs and feature requests, use the issue tracker.
For security issues, see SECURITY.md.
See MAINTAINERS.md.
Apache-2.0


