Skip to main content
Glama

Portkey MCP by usefulapi

Server Details

Read AI-gateway analytics, configs, virtual keys, workspaces and users; log request feedback.

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
76.5% over 77 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.6/5.0

Scored across 16 tools

Disambiguation5/5

Each tool maps to a distinct resource or operation: get/list pairs for api keys, configs, users, virtual keys, workspaces, plus analytics graph vs group, feedback, audit logs, and invites. Even the closest pair (analytics_graph vs analytics_group) is clearly differentiated as time-series-by-metric vs aggregate-by-dimension. No plausible misselection.

Naming Consistency5/5

Every tool follows the exact same 'portkey_verb_noun' snake_case pattern (portkey_get_*, portkey_list_*, portkey_create_feedback). Verb choice is predictable and applied uniformly across all 16 tools.

Tool Count4/5

16 tools sit at the upper edge of the comfortable range, but the breadth of the Portkey domain (analytics, feedback, api keys, configs, users, virtual keys, workspaces, audit logs) justifies most of them. Each tool earns its place with a distinct target, though a few list/get pairs could arguably be consolidated.

Completeness2/5

The surface is almost entirely read-only: 15 of 16 tools are get/list, with only create_feedback performing a write. There is no create/update/delete for configs, virtual keys, workspaces, users, api keys, or invites, so an agent cannot perform core lifecycle management. This is a significant gap for a gateway-administration server.

Available Tools

16 tools
portkey_create_feedbackCreate feedbackA
Destructive
Inspect

WRITES a feedback record into the Portkey account, attached to a request/trace by trace_id. Use for logging a quality score (typically -10..10) with an optional weight (0..1) and metadata. Portkey: POST /feedback.

NameRequiredDescriptionDefault
valueYesFeedback score, typically -10..10.
weightNoRelative weight of this feedback, 0..1.
metadataNoArbitrary metadata key/values.
trace_idYesThe request/trace id to attach feedback to.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds real context beyond the lone destructiveHint annotation: write semantics, the trace_id attachment model, and the POST /feedback endpoint. However, it never addresses why the operation is flagged destructive (is existing feedback overwritten?), nor permissions/auth needs, so the annotation's implication is left unexplained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the uppercase WRITES verb, followed by usage context and the endpoint mapping. No filler or redundancy that would slow an agent's decision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and minimal annotations, the description should carry more burden than it does: the return value (e.g., created feedback id), authentication requirements, and the destructive-flag rationale are all absent. It is adequate to invoke the tool but incomplete on consequences and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each of the four parameters carries its own description, including the same -10..10 and 0..1 ranges repeated in the description. The description therefore adds little parameter-level meaning beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('WRITES a feedback record'), plus the attachment key ('attached to a request/trace by trace_id') and the underlying endpoint. Every sibling tool is a read (get_/list_), so the write nature alone distinguishes it unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use for logging a quality score ... with an optional weight ... and metadata' gives concrete when-to-use context. It stops short of stating exclusions or alternatives, though no sibling offers an overlapping write operation, so the practical gap is small.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_get_analytics_graphGet analytics graphA
Read-only
Inspect

Get a time-series analytics graph for a single metric (cost, requests, tokens, latency, error-rate, cache-hit-rate, …) over a time window. Optionally scope by virtual keys, configs, or metadata. Portkey: GET /analytics/graphs/{metric}.

NameRequiredDescriptionDefault
metricYesWhich metric graph to return.
configsNoComma-separated config slugs to scope the graph.
metadataNoJSON string of metadata key/values to scope the graph.
total_unitsNoBucket size for the series, e.g. "day" or "hour".
virtual_keysNoComma-separated virtual key slugs to scope the graph.
time_of_generation_maxYesEnd of the window (ISO8601, format YYYY-MM-DDTHH:MM:SS±HH:MM).
time_of_generation_minYesStart of the window (ISO8601, format YYYY-MM-DDTHH:MM:SS±HH:MM).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the bar is lower. The description usefully adds that it is a GET endpoint, that only one metric can be requested at a time, and that a time window is mandatory, but says nothing about return shape (buckets, points), result size, or any rate/limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences that front-load the core purpose, then scoping, then the underlying API path. No filler and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no output schema, the description should say more about the returned structure (time buckets, series naming, how multiple scope filters combine). Annotations cover safety and the schema covers inputs, so it is adequate, but the response shape is left entirely unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all seven parameters including the metric enum and total_units bucket sizing are already documented in the schema; baseline 3 applies. The description only echoes the scoping params (virtual keys, configs, metadata) and hints at additional metrics with '…' without adding format or semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get a time-series analytics graph for a single metric' with metric examples and a time window. The 'single metric' + 'time-series graph' framing implicitly separates it from the sibling portkey_get_analytics_group, but the difference is never made explicit, so an agent must infer which one to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys context (one metric over a window, optional scoping by virtual keys, configs, metadata) but gives no explicit when-to-use vs when-not, and never names portkey_get_analytics_group as the alternative for aggregated/non-time-series views. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_get_analytics_groupGet analytics groupB
Read-only
Inspect

Get grouped analytics (aggregated by models, users, or metadata) over a time window. Portkey: GET /analytics/groups/{group}.

NameRequiredDescriptionDefault
groupYesDimension to group the analytics by.
page_sizeNoNumber of records per page. Default 50.
current_pageNoPage number (0-based) for pagination. Default 0.
time_of_generation_maxYesEnd of the window (ISO8601, format YYYY-MM-DDTHH:MM:SS±HH:MM).
time_of_generation_minYesStart of the window (ISO8601, format YYYY-MM-DDTHH:MM:SS±HH:MM).

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this as a safe read, so the description's burden is lower. It adds the underlying endpoint and the meaning of the grouping dimension, but says nothing about pagination behavior, result caps, or timeframe limits beyond the required window.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose front-loaded, with the endpoint as trailing reference. Nothing wasteful and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, 5-parameter, 100%-documented schema the definition is functionally sufficient, but with no output schema the description gives no hint at the shape of grouped results, and it omits any mention of paging despite two pagination parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the only enum (group) and both ISO8601 bounds fully documented in the schema. The description restates the grouping dimensions and time window but adds no syntax, defaults, or format detail beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get grouped analytics') plus the three grouping dimensions and the time-window scope, which is more precise than a generic analytics fetch. However, it never distinguishes itself from the sibling portkey_get_analytics_graph, so an agent must infer the difference from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use grouped analytics versus the graph variant, nor any prerequisites, account scope, or exclusions. The agent is left to guess from the names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_get_api_keyGet API keyA
Read-only
Inspect

Get a single API key's metadata by id (the secret is never returned). Portkey: GET /api-keys/{id}.

NameRequiredDescriptionDefault
idYesThe API key id.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, so safety is covered. The description adds genuinely useful behavioral context beyond them: the secret is never returned, telling the agent what the result will and will not contain for a credential-adjacent resource.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with what is fetched first, then the secret-exclusion caveat and endpoint. Every clause earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description partly compensates by stating the secret is omitted from the response. For a single-parameter read tool with readOnlyHint, that is nearly complete, though it does not describe the shape of the returned metadata or error behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with a single documented id parameter, so the baseline is 3. The description only restates 'by id' and adds no format, source, or example detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single API key's metadata by id'), which clearly separates it from the sibling list_api_keys (single vs list) and from portkey_get_virtual_key (API key vs virtual key). The endpoint mapping (GET /api-keys/{id}) reinforces exactly which resource is fetched.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by id' implies this is the lookup-by-identifier path as opposed to listing, but there is no explicit when-to-use guidance or naming of the alternative (e.g., use portkey_list_api_keys when you don't have an id). Usage is inferable but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_get_configGet configA
Read-only
Inspect

Get a single gateway config by slug (or id), including its routing rules. Portkey: GET /configs/{slug}.

NameRequiredDescriptionDefault
slugYesThe config slug or id.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful scope ('including its routing rules') and the underlying API mapping, but says nothing about error behavior when the slug is missing, permissions, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the resource and lookup key front-loaded. The trailing 'Portkey: GET /configs/{slug}' endpoint mapping is mildly redundant but cheap and aids API correlation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description conveys the lookup key and return scope ('including its routing rules'). Minor gaps around not-found behavior, but nothing essential to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With a single parameter at 100% schema description coverage, the schema already documents the slug/id input, so baseline 3 applies. The description's '(or id)' restates rather than extends the schema's 'config slug or id'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get a single gateway config by slug (or id)') and clarifies what is returned ('including its routing rules'). It implicitly contrasts with the sibling list tool via 'single', but never names portkey_list_configs, so sibling differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the 'single config by slug' framing, which suggests this is the lookup path once a slug is known. However, there is no explicit when-to-use guidance, no statement of when to prefer it over portkey_list_configs, and no prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_get_userGet userA
Read-only
Inspect

Get a single user by id. Portkey: GET /users/{id}.

NameRequiredDescriptionDefault
idYesThe user id.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered by structured data rather than the description. The description adds only the HTTP route mapping and says nothing about auth requirements, 404/not-found behavior, or error shape for an invalid id; with annotations carrying the safety signal, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no filler; the purpose leads and the endpoint detail follows. The route mapping is marginally useful but borders on redundancy for an agent that never sees the raw HTTP layer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only getter with annotations covering safety and no output schema to explain, the definition is sufficient to call correctly. Only the error/not-found behavior and the id's provenance are left unstated, which are minor gaps here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with a single documented parameter, so the schema already carries the semantics. The description restates 'by id' without adding format, source, or sourcing guidance (e.g., where to obtain a user id).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single user by id') and adds the underlying REST route, so an agent knows exactly what it returns. It does not, however, name or contrast itself with the nearby list_users sibling, which is the main ambiguity a caller faces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by 'by id' – an agent infers it needs a known user id rather than a listing operation. There is no explicit when-to-use, when-not-to-use, or pointer to list_users for the no-id case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_get_virtual_keyGet virtual keyB
Read-only
Inspect

Get a single virtual key by slug, including its provider + limits. Portkey: GET /virtual-keys/{slug}.

NameRequiredDescriptionDefault
slugYesThe virtual key slug.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that the response includes provider and limits, which is genuinely useful given there is no output schema, but it says nothing about auth requirements, error behavior for an unknown slug, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the action and scope front-loaded; nothing is padded or repeated. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with annotations covering safety and full schema coverage, this is nearly complete, and the mention of provider + limits partially compensates for the missing output schema. It only lacks guidance on retrieval-vs-list selection and failure cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the sole parameter is documented in the schema as 'The virtual key slug.' The description's phrase 'by slug' restates that without adding format, source, or validation detail. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (a single virtual key) and adds the retrieval key (by slug) plus what the payload contains (provider + limits). The word 'single' implicitly separates it from portkey_list_virtual_keys, but the sibling is never named explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use statement, no guidance on choosing this over portkey_list_virtual_keys, and no prerequisites or notes for a slug that does not exist. The only usage signal is the embedded endpoint 'GET /virtual-keys/{slug}', which is documentation rather than routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_get_workspaceGet workspaceA
Read-only
Inspect

Get a single workspace by slug/id. Portkey: GET /workspaces/{id}.

NameRequiredDescriptionDefault
idYesThe workspace slug or id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this as a safe read, and the description adds the upstream endpoint mapping, which is mild extra context. It says nothing about error behavior for an invalid slug (404/403), auth requirements, or what fields a workspace carries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero padding, with the core verb+resource statement front-loaded and the API reference trailing as supporting detail. Nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only fetch with annotations covering safety and no output schema to explain, the description gives everything needed to invoke it. Only minor gaps (auth scope, not-found behavior) remain, which is acceptable at this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with a single 'id' param already documented as 'The workspace slug or id.' The description's 'by slug/id' simply mirrors the schema, adding no new format, precedence, or example detail. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single workspace by slug/id') and pins the exact API surface via 'GET /workspaces/{id}'. It clearly reads as the singular counterpart to the sibling portkey_list_workspaces, though it never names that alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: 'single workspace' tells the agent this is a per-entity fetch, not a listing. There is no explicit when-to-use/when-not guidance or pointer to portkey_list_workspaces for enumeration, so an agent must infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_list_api_keysList API keysA
Read-only
Inspect

List API keys in the organization/workspace (metadata only — secrets are never returned). Portkey: GET /api-keys.

NameRequiredDescriptionDefault
page_sizeNoNumber of records per page. Default 50.
current_pageNoPage number (0-based) for pagination. Default 0.
workspace_idNoScope keys to a workspace id/slug.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuinely new behavioral context: results are metadata only and 'secrets are never returned', which an agent would not know from the annotations or schema alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core purpose front-loaded, followed by the API endpoint reference. No filler, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, three-optional-parameter list tool with a fully documented schema and no output schema, the description covers scope and return nature adequately. Pagination semantics are left to the schema, which is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with all three parameters documented (page_size, current_page, workspace_id). The description adds nothing beyond what the schema already states, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List API keys') and scope ('organization/workspace'), which distinguishes it from the singular portkey_get_api_key. It does not explicitly contrast with portkey_list_virtual_keys, but the resource naming is unambiguous enough for selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not guidance. It implies a read/list scenario via 'List', but names no alternative and gives no condition selecting this over portkey_get_api_key or portkey_list_virtual_keys.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_list_audit_logsList audit logsB
Read-only
Inspect

List audit log entries (admin actions across the organization). Portkey: GET /audit-logs.

NameRequiredDescriptionDefault
page_sizeNoNumber of records per page. Default 50.
current_pageNoPage number (0-based) for pagination. Default 0.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this is a safe read. The description adds useful scope context (organization-wide admin actions) that the annotation does not convey, but it omits pagination/ordering behavior and any retention or volume characteristics of audit logs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no filler. The trailing 'Portkey: GET /audit-logs' is mildly redundant but cheap and provides endpoint traceability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only paginated list this covers the essentials, but with no output schema the description does not hint at what an audit entry contains (actor, action, timestamp, resource), leaving the agent to discover the shape empirically.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (page_size, current_page) are fully documented in the schema with defaults. The description adds nothing about pagination semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List audit log entries') and adds scope clarification ('admin actions across the organization') plus the backend endpoint mapping. This is enough for an agent to identify it as the audit-log listing tool rather than a generic log tool, though it never names which sibling it differs from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this versus alternatives, no prerequisites (e.g., admin permissions), and no guidance on pagination strategy. Usage is only loosely implied by the parenthetical scope note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_list_configsList configsB
Read-only
Inspect

List gateway configs (routing/fallback/retry/cache rulesets applied to requests). Portkey: GET /configs.

NameRequiredDescriptionDefault
workspace_idNoScope configs to a workspace id/slug.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, covering the safety profile. The description adds domain context about what configs are but no operational behavior such as pagination, return format, or filtering constraints beyond the schema, so it adds little beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the verb and resource. The endpoint reference is a minor addition but does not bloat the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity list tool with a fully documented single parameter and readOnly annotations, the description covers purpose and resource meaning. It omits pagination or return-shape details, but annotations and low complexity make those minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single optional workspace_id parameter, so the schema already documents it. The description adds no parameter semantics, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific verb 'List' and resource 'gateway configs', and defines what a config contains (routing/fallback/retry/cache rulesets). It distinguishes itself from sibling portkey_get_config through the List vs Get verb and names the underlying endpoint. An agent can select it without opening other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance or alternatives are named. It does not tell the agent when to choose this tool over portkey_get_config or other list tools; usage is only implied by the verb 'List'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_list_user_invitesList user invitesA
Read-only
Inspect

List pending user invitations to the organization. Portkey: GET /user-invites.

NameRequiredDescriptionDefault
page_sizeNoNumber of records per page. Default 50.
current_pageNoPage number (0-based) for pagination. Default 0.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds only the scoping constraint that results are pending invites; it says nothing about ordering, pagination behavior beyond the schema defaults, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and scope. The 'Portkey: GET /user-invites' fragment is partly redundant with the tool name but is compact and adds API-mapping context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter read-only list tool, annotations supply the safety profile and the schema supplies pagination, so little else is needed. The absence of an output schema means return fields are undocumented, but this is a minor gap for a simple listing call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so page_size and current_page (with defaults) are already fully documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('List pending user invitations') with the endpoint mapping (GET /user-invites). The 'pending' qualifier separates it from sibling listing tools like list_users or list_workspace_members, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the scope: an agent can infer this is the tool for reviewing outstanding invitations. There is no statement of when to prefer it over alternatives, no prerequisites, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_list_usersList usersB
Read-only
Inspect

List users in the organization. Filter by role or email. Portkey: GET /users.

NameRequiredDescriptionDefault
roleNoFilter users by role (e.g. admin, member).
emailNoFilter users by email address.
page_sizeNoNumber of records per page. Default 50.
current_pageNoPage number (0-based) for pagination. Default 0.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds only the underlying REST endpoint (GET /users), which is mild cross-reference value; it says nothing about pagination behaviour, total counts, or what a listing returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with no padding; the core action comes first. The trailing 'Portkey: GET /users.' is compact but is the least load-bearing element.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full schema coverage, the essentials are present. With no output schema, though, the description omits any indication of what is returned or how pagination should be driven to enumerate all users, which is a meaningful gap for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (role, email, page_size, current_page) are already documented in the schema with defaults. The description echoes the two filter parameters but adds no syntax, allowed values, or pagination semantics beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List users in the organization') that clearly separates it from the singular portkey_get_user sibling. It does not, however, explicitly distinguish itself from the other list_* siblings (list_workspace_members, list_user_invites), so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Filter by role or email' hints at usage but is really parameter information rather than guidance. There is no statement of when to use this tool versus portkey_get_user, portkey_list_workspace_members, or portkey_list_user_invites, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_list_virtual_keysList virtual keysB
Read-only
Inspect

List virtual keys (the aliases that map to provider credentials + budget/rate limits used in requests). Portkey: GET /virtual-keys.

NameRequiredDescriptionDefault
page_sizeNoNumber of records per page. Default 50.
current_pageNoPage number (0-based) for pagination. Default 0.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this is a safe read, so the description's remaining burden is small. It adds the underlying REST endpoint (GET /virtual-keys) and clarifies the resource semantics, but says nothing about ordering, pagination behavior, or volume of results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and resource, followed by a compact clarifying definition and the endpoint. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A read-only list tool with fully documented params and annotations covering the safety profile needs little more. The description handles the resource definition adequately; only the absence of any note about pagination/large result sets keeps it short of full marks.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so page_size and current_page are fully documented with defaults in the schema itself. The description adds no parameter detail beyond that, which is the expected baseline when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List virtual keys') and adds a useful definition of what a virtual key is (aliases mapping to provider credentials plus budget/rate limits). The plural 'List' implicitly distinguishes it from the sibling portkey_get_virtual_key, but no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance: nothing tells the agent when to pick this over portkey_get_virtual_key (fetch one key), nor any mention of pagination strategy for iterating a large collection. The usage context is left entirely to inference from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_list_workspace_membersList workspace membersB
Read-only
Inspect

List members of a workspace (users + their roles). Portkey: GET /workspaces/{id}/members.

NameRequiredDescriptionDefault
idYesThe workspace slug or id.
page_sizeNoNumber of records per page. Default 50.
current_pageNoPage number (0-based) for pagination. Default 0.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read. The description adds only the return shape ('users + their roles') and an upstream REST endpoint mapping; it says nothing about pagination behavior or auth requirements beyond what the schema and annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the purpose front-loaded and the endpoint mapping trailing as secondary detail. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-resource list tool with fully documented parameters and no output schema, the description covers the essentials and even hints at the returned fields. The only missing element is scope differentiation from the org-level user-listing siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: id ('workspace slug or id'), page_size, and current_page are all documented in the schema itself. The description adds no additional parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List members of a workspace') and clarifies the payload by parenthetically noting it returns users plus their roles. This distinguishes it from the many list_* siblings, though it never explicitly names the nearest alternative (portkey_list_users).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given. The presence of portkey_list_users and portkey_list_user_invites in the sibling set makes the scope question (workspace-scoped vs org-scoped members) a real one that the description leaves to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portkey_list_workspacesList workspacesB
Read-only
Inspect

List workspaces in the organization. Portkey: GET /workspaces.

NameRequiredDescriptionDefault
page_sizeNoNumber of records per page. Default 50.
current_pageNoPage number (0-based) for pagination. Default 0.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safe read nature is covered. The description adds the organizational scope and a REST endpoint mapping, but says nothing about pagination behavior, sorting, or result size; with annotations present, this is a modest but not empty contribution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences that are front-loaded with the core action. The second sentence ('Portkey: GET /workspaces.') largely restates the name and adds little, slightly weakening an otherwise efficient definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full schema coverage, no required parameters, and readOnlyHint annotations, the description is essentially complete. Return format and pagination details are unnecessary since the schema covers inputs and no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: page_size and current_page are fully documented in the schema with defaults. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('List workspaces') and scopes it to the organization, so an agent knows exactly what it returns. It does not explicitly distinguish itself from the singular sibling 'portkey_get_workspace', so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many other list/get siblings such as portkey_get_workspace or portkey_list_workspace_members. The listing purpose is implied only by the word 'List' in the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects AI assistants to an existing Skysay workspace so they can inspect and manage voice agents, phone numbers, calls, SMS messages, and campaigns, with a read-only endpoint available for fixed read-only access.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Enables AI clients to query AxonHub admin data through natural language, including instance status, projects, channels, models, requests, and usage statistics, with read-only safeguards and sensitive-field redaction.
    8
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.