Skip to content

Serve agentmail-toolkit 0.14.0: get_labs/join_labs plus the tool docs rewrite - #84

Merged
duharry0915 merged 5 commits into
mainfrom
labs/tools
Oct 13, 2026
Merged

duharry0915 merged 5 commits into
mainfrom
labs/tools

Conversation

@shalim786

@shalim786 shalim786 commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds get_labs and join_labs from agentmail-to/agentmail-toolkit#77 to the hosted catalog, the MCP path to the public Labs API (agentmail-api#1633).

  • packages/server/package.json: agentmail-toolkit 0.12.0 → 0.13.0.
  • tests/server-contract.test.mjs: expects both tools in the runtime contract.

join_labs is on both auth paths, consistent with apiKeyOnlyTools being empty: on OAuth the server calls the API with a console JWT, and the API refuses the join (unrestricted_key_required) because the bridge mints that JWT for any org member. The tool's description sends OAuth users to an organization admin in the console. get_labs works on both paths.

Draft: blocked on the toolkit release

Done:

  • agentmail-api 59d11a7 is live in prod, agentmail-to/agentmail-docs#311 is published, and Release SDKs shipped agentmail 0.5.44.
  • Toolkit #77 merged.
  • packages/server/package.json now pins agentmail 0.5.44 (was 0.5.37). The toolkit's agentmail dependency resolves to this pin, so at 0.5.37 both tools would throw. Checked against toolkit 0.12.0: the server typechecks clean, and every root test passes except the Labs contract expectation.

Left:

  1. Merge agentmail-to/agentmail-toolkit#78, which raises the toolkit's floor to ^0.5.44; Revert #75: keep send idempotency owned by the AgentMail API #77 merged before that bump. Then publish agentmail-toolkit 0.13.0.
  2. Here: pnpm install (updates the lockfile), pnpm generate:manifest, pnpm test. In the lockfile, confirm agentmail-toolkit@0.13.0 depends on agentmail 0.5.44.
  3. After deploy, regenerate agentmail-docs' MCP tool catalog (scripts/generate_mcp_tool_catalog.py).

Update: unblocked, and now also ships the tool docs rewrite (toolkit 0.14.0)

agentmail-toolkit 0.13.0 and 0.14.0 are both on npm now. 0.14.0 has the same get_labs / join_labs, plus agentmail-to/agentmail-toolkit#79's rewrite of every tool's field docs, descriptions and output schemas. That rewrite is for Manufact's tool documentation review, where this server scores 83/100. So this PR now pins 0.14.0 directly, and absorbs agentmail-to/agentmail-mcp#86, which is closed in its favor.

What the branch adds on top of the two Labs commits:

  • Merge of main. This brings in Advertise a title, description, website and icon in serverInfo #85, the serverInfo metadata change.
  • Toolkit 0.14.0. The lockfile now has agentmail-toolkit@0.14.0 → agentmail 0.5.44, and mcp-manifest.json is regenerated. The missing lockfile entry was the CI failure.
  • Server-defined tools (from Describe every hosted tool field (server-defined tools now, toolkit 0.14.0 next) #86).
    • list_organizations and select_organization describe their output fields, and list_organizations says what each entry carries.
    • get_thread's limit, pageToken and nextPageToken say where a page token comes from and which page holds the newest messages.
  • create_draft / update_draft. The override keeps only the destructive/open-world hints. 0.14.0 ships the description text the override used to inject.
  • tests/server-tool-docs.test.mjs. It holds the served catalog, the 41 tools including the ones defined here, to the toolkit's docs floor: no field documented only by its own name, and no tool description over 1,800 chars.

Visible changes in the served catalog besides docs:

  • 39 → 41 tools.
  • delete_thread is annotated idempotent. The API has deleted permanently on the first call since 2026-04-03; a repeat only 404s.
  • New titles: "Update Message Labels", "Update Thread Labels", and "… Allow or Block List" for the four list-entry tools.

Checks:

  • pnpm check:contract passed.
  • node --test tests/*.test.mjs: 176 passed, 1 skipped (the Linux-only backlog check). That includes 82 new docs checks.
  • Bridge tests 8/8, test:python 4/4, check:bridges passed.

After deploy:

  1. Confirm the live tools/list serves 41 tools.
  2. Click "Review again" on https://manufact.com/mcp-catalog/agentmail .
  3. Regenerate agentmail-docs' MCP tool catalog.

🤖 Generated with Claude Code

Bump agentmail-toolkit to 0.13.0 (agentmail-toolkit#77) and expect its
two Labs tools in the runtime contract. The lockfile, the agentmail SDK
pin and mcp-manifest.json follow once 0.13.0 and the SDK release that
adds organizations.getLabs()/joinLabs() are published.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mcp-use

mcp-use Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Deployment #234 deployed successfully

StatusLogsURLUpdated
ReadyBuild Logs | Runtime Logs🔗 MCP URLOct 13 2026 11:18 pm

View deployment details


Deployed on Manufact.com

@shalim786
shalim786 marked this pull request as ready for review October 12, 2026 18:30
The toolkit's agentmail dependency resolves to this exact pin, so at 0.5.37
get_labs and join_labs would throw. Checked against toolkit 0.12.0: the
server typechecks clean and every test but the Labs contract expectation passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
duharry0915 and others added 3 commits October 13, 2026 16:15
Manufact's tool documentation review flags list_organizations and select_organization for
output fields with no description, and list_organizations for not saying what it returns. It
also flags get_thread's limit for restating its own validation and its pageToken for not saying
where the value comes from. All four live in this server rather than agentmail-toolkit, so
they're fixed here: the organization outputs say what each field is, list_organizations says
what each entry carries, and get_thread's pagination fields say where a page token comes from
and which page holds the newest messages.

The toolkit-sourced tools change with agentmail-toolkit 0.14.0 (agentmail-toolkit#79), which
this branch will pick up once it is published.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
agentmail-toolkit 0.13.0, which this PR was waiting on, is now on npm, and 0.14.0 followed it.
0.14.0 carries the same get_labs and join_labs, plus agentmail-toolkit#79's rewrite of every
tool's field docs, descriptions and output schemas for Manufact's tool documentation review.
So this pins 0.14.0 directly, with a refreshed lockfile and manifest. That is why CI was red:
the lockfile could not resolve an unpublished 0.13.0.

- create_draft and update_draft keep their destructive/open-world hint override, but no longer
  replace the toolkit's descriptions: 0.14.0 ships that same text.
- delete_thread is now annotated idempotent. The API has deleted permanently on the first call
  since 2026-04-03, and a repeat only 404s.
- tests/server-tool-docs.test.mjs holds the served catalog to the toolkit's docs floor, so the
  tools defined or rewritten here (list_organizations, select_organization, get_thread's
  paging) cannot regress: no field documented only by its own name, and no tool description
  over Claude Code's 2 KB field.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@duharry0915 duharry0915 changed the title Add get_labs and join_labs to the hosted catalog Serve agentmail-toolkit 0.14.0: get_labs/join_labs plus the tool docs rewrite Oct 13, 2026
@duharry0915
duharry0915 merged commit 40bf299 into main Oct 13, 2026
5 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.

3 participants