Repository navigation
[Teams] Split out list_teams from get_team details - #54
Conversation
**Backgound** list_teams returns a ton of info about teams for a tool which receives a lot of traffic **Change** Split between list_teams and get_team
| // Explicit pick so new API fields (and the multi-KB certificate) stay out of the list. | ||
| export function summarizeTeam({ identifier, name, production, created_at }: Team): TeamSummary { | ||
| return { identifier, name, production, created_at }; | ||
| } |
There was a problem hiding this comment.
Here is where we're removing the fields
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Team names containing URL-reserved characters are not encoded before being inserted into the request path.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Splits lightweight team listings from detailed team retrieval to reduce list_teams payload size.
Changes:
- Adds and registers
get_team. - Restricts
list_teamsto summary fields. - Updates types, tests, documentation, and version metadata.
| File | Description |
|---|---|
src/tools/teams.ts |
Implements team summaries and get_team. |
src/tools/index.ts |
Registers the new tool. |
src/client/gremlin.ts |
Expands team typing and fetches individual teams. |
src/resources/index.ts |
Uses the corrected wire-format company ID. |
src/server.ts |
Bumps server version. |
tests/unit/tools-index.test.ts |
Tests team tool behavior. |
tests/unit/gremlin-client.test.ts |
Tests individual-team responses. |
tests/integration/mcp-server.test.ts |
Covers the new tool and summary shape. |
Readme.md |
Documents both team tools. |
package.json |
Bumps package version. |
package-lock.json |
Updates locked version metadata. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Encode teamId in the request URL to handle special characters. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
| export class GremlinApi { | ||
| private baseUrl: string = getServiceUrl(); | ||
| private userAgent = "@gremlin/gremlin-mcp/2.5.0"; | ||
| private userAgent = "@gremlin/gremlin-mcp/2.6.0"; |
There was a problem hiding this comment.
would there be value in deriving this from the package.json?
There was a problem hiding this comment.
There is a make command which requires this
|
|
||
| export const SERVER_NAME = 'Gremlin Inc Server'; | ||
| export const SERVER_VERSION = '2.5.0'; | ||
| export const SERVER_VERSION = '2.6.0'; |
There was a problem hiding this comment.
would there be value in deriving this from the package.json?
There was a problem hiding this comment.
These come from a build script

Background
list_teams returns a ton of info about teams for a tool which receives a
lot of traffic
Change
Split between list_teams and get_team