Skip to content

feat(mcp): MCP parity with web/Telegram agent — search + execute meta-tools (v0.3.0)#1

Merged
simaonogueira101 merged 1 commit into
mainfrom
feat/meta-tools-parity
May 11, 2026
Merged

feat(mcp): MCP parity with web/Telegram agent — search + execute meta-tools (v0.3.0)#1
simaonogueira101 merged 1 commit into
mainfrom
feat/meta-tools-parity

Conversation

@simaonogueira101

Copy link
Copy Markdown
Member

Summary

Brings the stdio MCP server to feature parity with the noticed web/Telegram agent by exposing the full 50-capability registry through two meta-tools instead of two hand-written ones.

  • src/mcp-server.ts — replace search_network + get_connection_path with search + execute meta-tools. The LLM calls search to discover capabilities (network search, missions, PRM, memory, workspace, cron, …) and execute by name with the matching args.
  • src/api-client.ts — add capabilitySearch / capabilityExecute methods that POST to noticed-agent's new /api/agent/capabilities/{search,execute} endpoints. The existing search / path / hydrate methods stay (used by the noticed search / noticed path CLI commands).
  • Tests reworked: SearchArgsSchema + ExecuteArgsSchema (10 cases) + 3 api-client capability-method cases. 32 total.
  • package.json + server.json bumped 0.2.0 → 0.3.0.
  • README: new tools section + upgrade note from 0.2.x.

Depends on noticed.so serving POST /api/agent/capabilities/* — that landed in noticedso/noticed PR #104, deployed to production.

What clients see now

Before (0.2.x):

tools/list → [search_network, get_connection_path]

After (0.3.0):

tools/list → [search, execute]

search returns the full chat-safe registry (~50 capabilities) with JSON schemas. execute dispatches a named capability with args. Server-side denylist filters 9 chat-only capabilities (message, send_referral_invite, lookup_group_member, process_linkedin_zip, start_account_link, send_linkedin_export_instructions, cursor_cloud_agent_launch|status|followup).

Breaking changes

Clients that called search_network / get_connection_path directly will get an "Unknown tool" error after upgrading. The same operations are available via execute { capability: "search_network", args: { query: "…" } } and execute { capability: "get_connection_path", args: { query: "…" } }. MCP-aware LLMs (Claude, Cursor, ChatGPT MCP) discover the new shape via search automatically.

Test plan

  • npm run lint — clean
  • npm run check-types — clean
  • npm test — 32/32 pass
  • npm run build — clean
  • Manual smoke against mcp.noticed.so — verified tools/list returns search+execute, search surfaces 50 capabilities, execute on list_missions returns real data
  • Merge → push v0.3.0 tag → release workflow publishes @noticed/cli@0.3.0 to npm with provenance

Release flow

The release.yml workflow publishes to npm on v* tag push. After merge, please run:

git checkout main && git pull
git tag v0.3.0 && git push origin v0.3.0

The workflow handles lint / types / test / build / npm publish --provenance --access public.

🤖 Generated with Claude Code

Brings the stdio MCP server to parity with the noticed web/Telegram
agent. Replaces the two hand-written tools (search_network,
get_connection_path) with two meta-tools (search + execute) that
forward to the new POST /api/agent/capabilities/{search,execute}
endpoint on noticed-agent — the same registry that already powers web
and Telegram, minus nine chat-only capabilities filtered server-side.

The MCP client's LLM calls search to discover any of ~50 chat-safe
capabilities (mission/goal/milestone ops, PRM, network intelligence,
workspace files, memory, web search, cron, etc.) then execute by name
with the matching args.

- src/api-client.ts: add capabilitySearch / capabilityExecute methods
- src/mcp-server.ts: replace TOOLS array + per-tool handlers with two
  meta-tools that delegate to the api-client
- __tests__/mcp-server.test.ts: swap legacy schema tests for the new
  SearchArgsSchema / ExecuteArgsSchema tests (10 cases)
- __tests__/api-client.test.ts: add 3 capability-method tests
- README.md: explain the new surface + upgrade note from 0.2.x
- package.json + server.json: bump 0.2.0 → 0.3.0

Depends on noticed.so serving POST /api/agent/capabilities/* (PR #104
in noticedso/noticed, deployed today).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@simaonogueira101 simaonogueira101 merged commit f45b8b0 into main May 11, 2026
2 checks passed
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