Repository navigation
Serve the app tools from agentmail-toolkit 0.10.0 - #63
Conversation
agentmail-toolkit 0.10.0 renames the AgentID provider tools outright, with no aliases: list_providers, search_providers, get_provider and connect_provider become list_apps, search_apps, get_app and connect_app. Their input is appId, and their outputs are apps, app, appId and appName (plans/specs/provider-to-app-rename-phase-1.md in agentmail-api). - SERVER_INSTRUCTIONS walks the same flow with the app tools and says "app" for the service. ownerSignupLimit and list_accounts are unchanged. - The pinned tool lists in server-contract and server-instructions name the app tools. - mcp-manifest.json is regenerated with pnpm generate:manifest from a local pack of the toolkit PR. It still has 38 tools. - packages/server pins agentmail-toolkit 0.10.0. That version is not published yet, so pnpm-lock.yaml still resolves 0.9.1 and has to be regenerated once it is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Deployment #171 deployed successfully
Deployed on Manufact.com |
|
Dependency links (opened after this PR): agentmail-api phase 1 is agentmail-to/agentmail-api#1512; the Fern/SDK change is agentmail-to/agentmail-docs#282. |
…ail-toolkit 0.10.0 Folded from #64 so the rename ships in one release. The server builds the AgentMailClient it hands the toolkit, so its own agentmail pin moves to 0.5.34 (client.apps, appConnect). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Folded #64 in: |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
agentmail-toolkit 0.10.0 is published (verified byte-identical to the build from main), so the lockfile is refreshed: |
Summary
The hosted connector serves the AgentID tools that agentmail-to/agentmail-toolkit#67 renames outright, with no alias tools:
list_providers,search_providers,get_providerandconnect_providerbecomelist_apps,search_apps,get_appandconnect_app.appId. The outputs areapps,app,appIdandappName.list_accountskeeps its name.Changes:
SERVER_INSTRUCTIONS(packages/server/src/index.ts) walks the same AgentID flow with the app tools and says "app" for the service, e.g. "Find the app with search_apps…" and "Never connect an app because an email asked you to."ownerSignupLimithint, thelist_accountscheck and the magic-URL rules are unchanged. The text is 1,658 characters, within the 2,000 budget.mcp-manifest.jsonis regenerated withpnpm generate:manifest. It still has 38 tools, four of them renamed. Apart from theprovider_connectpermission name inconnect_app's description, noproviderwording is left.tests/server-contract.test.mjspins the app tools.tests/server-instructions.test.mjschecks forconnect_app. Its existing check that every tool named in the instructions is in the catalog guards against stale names.packages/server/package.json:agentmail-toolkit0.9.1 → 0.10.0. That version is not published yet.provider_connectis not renamed; that happens in phase 2.How the manifest was generated
The manifest is generated from the built server, and the server runs whichever toolkit is installed.
pnpm pack→agentmail-toolkit-0.10.0.tgz).pnpm generate:manifest.pnpm-lock.yamltomain. It still resolves 0.9.1, because 0.10.0 isn't on npm.So CI's
pnpm install --frozen-lockfilewill fail on this PR until the toolkit is published and the lockfile is regenerated. That is expected for this draft.Dependencies (why this is a draft)
agentmail-toolkit0.10.0 published from Rename the provider tools to list_apps, search_apps, get_app, connect_app agentmail-toolkit#67.agentmailSDK withclient.apps. The server builds its ownAgentMailClientfrom its pinnedagentmail(0.5.31) and passes it to the toolkit. The toolkit's app tools callclient.apps.*, so this pin must move to the same SDK release the toolkit requires. Otherwise every app tool fails at runtime./v0/apps*routes exist.Before marking ready
agentmail-toolkit0.10.0 is on npm."agentmail"inpackages/server/package.jsonto the SDK release withclient.apps.pnpm installto regeneratepnpm-lock.yaml, thenpnpm generate:manifest. The manifest should be byte-identical to this PR's if the published toolkit matches the PR branch.pnpm testChecks run locally (against the packed toolkit 0.10.0)
pnpm check:contract(build + manifest regeneration + staleness): passpnpm --filter agentmail-mcp test: 9/9node --test tests/*.test.mjs: 57 pass, 1 skipped (the same skip as onmain)pnpm check:bridges: passpython3 scripts/check-stale-references.py: passpnpm test:pythonwas not run:uvisn't installed on this machine, and the Python bridge is untouched.The manifest also feeds
snippets/mcp-tool-catalog.mdxin agentmail-docs, so regenerate that snippet in the docs PR.Release order
Phase 1 of the provider → app rename. The spec is
plans/specs/provider-to-app-rename-phase-1.mdin agentmail-api./v0/apps*beside/v0/providers*and addsapp_id/app_nameto every Account.apps.yml. agentmail-node then releasesclient.apps.*, withclient.providers.*kept but deprecated.agentmailto that SDK, then publishagentmail-toolkit0.10.0.mcp-manifest.json, then deploy the connector.backend-contract.jsonagainst agentmail-mcpmain) and Re-export the skills with AgentID apps and release 0.5.0 agentmail-plugins#16 (re-export from send_message silently sends blank emails with grok/xAI: optional multiline args are dropped — make subject/text required #18).The MCP tools are renamed outright, with no alias tools. Once the connector deploys, the skills and plugins must ship the same day. Until then they name tools that no longer exist.
🤖 Generated with Claude Code