Skip to content

Promote chat, memory, user_activity, employee_search to first-class tools#13

Merged
eshwar-sundar-glean merged 2 commits into
mainfrom
eshwar/promote-remote-tools
Jun 19, 2026
Merged

Promote chat, memory, user_activity, employee_search to first-class tools#13
eshwar-sundar-glean merged 2 commits into
mainfrom
eshwar/promote-remote-tools

Conversation

@eshwar-sundar-glean

@eshwar-sundar-glean eshwar-sundar-glean commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

Two related changes:

1. Promote five Glean remote tools to first-class local tools

Promotes the following alongside the existing search and read_document:

  • chat
  • memory
  • memory_schema
  • user_activity
  • employee_search

chat was previously excluded because the upstream Glean MCP backend kept
returning "response contains message of type ERROR". That backend issue is
resolved, so chat is now re-enabled.

2. Extend the version-bump CI check to all plugin manifests

The plugin ships one manifest per host (Claude, Codex, Cursor), but the
version-bump check only validated the Claude one — so the Codex and Cursor
manifests had silently drifted (both 0.2.24 while Claude moved to 0.2.25).

scripts/check-version-bump.sh now validates all three manifests: each must
be valid semver, all must share one aligned version, and that version must be
strictly greater than the highest version on the base branch. The change
trigger also fires on the codex/cursor manifests and .mcp.codex.json. The
Codex and Cursor manifests are aligned to 0.2.25.

Changes

  • src/tools/remote-passthrough.ts — add the five tools to REMOTE_TOOLS_ALLOWLIST.
  • src/tools/descriptions.ts — extend the shared-description doc comment to cover the newly promoted tools.
  • tests/remote-passthrough.test.ts — update the allowlist assertion to the full promoted set; switch the "excluded tool" fixture off chat.
  • scripts/check-version-bump.sh — validate all three manifests (aligned + bumped + no downgrade); broaden the change trigger.
  • plugins/glean/.claude-plugin/plugin.json, .codex-plugin/plugin.json, .cursor-plugin/plugin.json — bump to 0.2.25 (aligned).
  • plugins/glean/dist/index.js — rebuilt bundle (esbuild 0.28.1, matching the lockfile so CI's rebuild matches byte-for-byte).
  • .gitignore — ignore the local .claude/tmp/ skills cache.

Testing

  • npm run test — 145/145 passing.
  • npm run typecheck — clean.
  • bash scripts/check-version-bump.sh origin/main — verified pass (aligned + bumped), and verified it fails on drift and on a non-bumped version.

…ools

Add chat, memory, memory_schema, user_activity, and employee_search to
REMOTE_TOOLS_ALLOWLIST so they are promoted alongside search and
read_document once setup completes. chat was previously excluded due to a
backend ERROR response that has since been resolved.

Update shared parameter descriptions, allowlist tests, and bump the plugin
version to 0.2.25 (rebuilt dist). Also gitignore the local .claude/tmp/
skills cache so it is never committed.
@eshwar-sundar-glean eshwar-sundar-glean force-pushed the eshwar/promote-remote-tools branch from d1e5c63 to b7c8cda Compare June 19, 2026 08:51
The version-bump CI check only validated the Claude manifest, so the Codex
and Cursor manifests silently drifted (both still 0.2.24 while Claude moved
to 0.2.25). Rewrite check-version-bump.sh to validate all three per-host
manifests: each must be valid semver, all must share one aligned version,
and that version must be strictly greater than the highest version present
on the base branch. Broaden the change-trigger to also fire on the codex
and cursor manifests and .mcp.codex.json.

Align the Codex and Cursor manifests to 0.2.25 to match Claude.
@eshwar-sundar-glean eshwar-sundar-glean merged commit d4900ad into main Jun 19, 2026
2 checks passed
// Remote tools promoted to first-class local tools once setup completes.
// Anything the remote MCP server exposes that is not in this set is dropped
// by fetchAllowedRemoteTools and rejected by dispatchRemoteTool.
export const REMOTE_TOOLS_ALLOWLIST: ReadonlySet<string> = new Set([

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eshwar-sundar-glean do we need a second allowlist here? Can't we rely on what the remote server is returning?

swarup-padhi-glean added a commit that referenced this pull request Jun 19, 2026
Sync onto main after #13 (promote remote tools + all-manifest version
check). Resolve the 3 manifests to 0.2.26 (above main's 0.2.25); rebuild
dist so it carries both the promoted tools and the approval formatting.
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