Skip to main content
Glama

MisarSEO MCP Server

get_portfolio

Read-onlyIdempotent

One card per member project (same shape get_dashboard returns — no GSC, no backlinks, see its own description for why) plus aggregate totals. totals.averageHealthScore is averaged over member projects that HAVE been audited, not over every member. FREE: database only, no SEO data provider is called and no credits are spent.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portfolioIdYesPortfolio ID. Use list_portfolios to find it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description adds real behavioral value: it declares the call is FREE, hits the database only, calls no SEO data provider, and spends no credits, and it explicitly excludes GSC and backlink data. It also flags a non-obvious aggregation rule (averageHealthScore only over audited members). Auth needs and pagination behavior remain unstated, keeping this below 5.

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 tight sentences, front-loaded with the return shape and the cost guarantee. The nested parenthetical ('same shape get_dashboard returns — no GSC, no backlinks, see its own description for why') is dense and slightly convoluted, but 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?

With no output schema, the description carries the return-shape burden and largely does so: card-per-project plus totals, the aggregation caveat, and the data exclusions. The main gap is delegating the card definition to get_dashboard's description, which an agent may not have read.

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?

There is a single parameter with 100% schema description coverage, and the schema already tells the agent to use list_portfolios to find the ID. The description adds no syntax or format detail beyond that, so the baseline 3 is appropriate.

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 conveys the return shape precisely: one card per member project plus aggregate totals, with a caveat about averageHealthScore. However, it never states the retrieval verb/resource explicitly in its own words and leans on a cross-reference to get_dashboard's description to define the card shape, rather than differentiating itself from siblings like list_portfolios.

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 — this is the portfolio-level aggregate read — but there is no explicit when-to-use guidance and no naming of alternatives such as list_portfolios (for enumerating) or get_dashboard (for single-project detail). The reference to get_dashboard is for output shape, not routing, so the agent must infer the selection criteria.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.