# Agency Standings

> Evidence-based agency rankings for Ecom, Legal, SaaS, Finance and Service, plus a work library.

- name: com.agencystandings/agency-standings
- version: 1.2.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 87/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.agencystandings%2Fagency-standings
- tools: https://api.protogrid.dev/v1/servers/com.agencystandings%2Fagency-standings/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "agency-standings": {
      "type": "http",
      "url": "https://agencystandings.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-5d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 87/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: join_as_agency (idempotentHint); search_work (idempotentHint); get_agency (idempotentHint); …
- pass `tools.token_cost`: about 1,772 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 5 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 1,772 tokens to load them all
- tool set hash: 87e98c6a7afca3604a2223acacc9d552
- tools last changed: 2026-10-19T04:57:07.451Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.agencystandings/agency-standings.svg)](https://protogrid.dev/servers/com.agencystandings/agency-standings)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `get_methodology` changed (description) **meaning changed**
  - before: Explain how Agency Standings publishes ranks. Real rankings, earned through evidence: client results, testimonials and published work. Rank numbers are included. A numeric score is not.
  - after: Explain how Agency Standings publishes ranks. Real rankings, earned through evidence: client results, testimonials and published work. Agencies can never pay us: not for a rank, a sponsorship or a newsletter spot. The only way up is evidence. Agencies can never sponsor or advertise on Agency Standings or the Big Moves newsletter. Sponsors are products, software tools, AI companies and other non-agency brands. Rank numbers are included. A numeric score is not.
- 2026-10-16 `get_agency` changed (description)
  - before: Return the full evidence review for one agency slug: the industry rank or an unranked standing, services, sourced facts with URLs and retrieval dates, profile URL, and contact URL. A filtered search can show a different position. No numeric score.
  - after: Return the full evidence review for one agency slug: the industry rank or an unranked standing, services, signals with URLs and retrieval dates, profile URL, and contact URL. A filtered search can show a different position. No numeric score.
- 2026-10-16 `get_methodology` changed (description)
  - before: Explain how Agency Standings publishes ranks. Rank numbers are included. A numeric score is not.
  - after: Explain how Agency Standings publishes ranks. Real rankings, earned through evidence: client results, testimonials and published work. Rank numbers are included. A numeric score is not.
- 2026-10-16 `search_agencies` changed (inputSchema)
- 2026-10-16 `join_as_agency` changed (description)
  - before: Store a pending agency application. Collect the agency name, https website, contact email, industries, services, and a city or region. Do not collect a phone number or street address. We review the evidence before listing or ranking. Joining does not buy a rank.
  - after: Store a pending agency application. Collect the agency name, https website, contact email, industries, services, and a city or region. Do not collect a phone number or street address. We review the evidence before listing or ranking. No one can pay to be ranked. Rankings come only from evidence.
- 2026-10-16 `get_started` changed (description)
  - before: Start here. Ask whether the user is a brand looking for an agency or an agency that wants to join. Brand path uses the search tools. Agency path uses join_as_agency. Qualified briefs are not open yet.
  - after: Start here. Ask whether the user is a brand looking for an agency or an agency that wants to join. Brand path uses the search tools. Agency path uses join_as_agency, then the private agency tools after the profile is claimed. Qualified briefs are not open yet.

Full history: https://api.protogrid.dev/v1/servers/com.agencystandings%2Fagency-standings/changes

## Remotes

- https://agencystandings.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (7)

- `get_agency`: Return the full evidence review for one agency slug: the industry rank or an unranked standing, services, signals with URLs and retrieval dates, profile URL, and contact URL. A filtered search can show a different position. No numeric score.
- `get_methodology`: Explain how Agency Standings publishes ranks. Real rankings, earned through evidence: client results, testimonials and published work. Agencies can never pay us: not for a rank, a sponsorship or a newsletter spot. The only way up is evidence. Agencies can never sponsor or advertise on Agency Standings or the Big Moves newsletter. Sponsors are products, software tools, AI companies and other non-agency brands. Rank numbers are included. A numeric score is not.
- `get_started`: Start here. Ask whether the user is a brand looking for an agency or an agency that wants to join. Brand path uses the search tools. Agency path uses join_as_agency, then the private agency tools after the profile is claimed. Qualified briefs are not open yet.
- `join_as_agency`: Store a pending agency application. Collect the agency name, https website, contact email, industries, services, and a city or region. Do not collect a phone number or street address. We review the evidence before listing or ranking. No one can pay to be ranked. Rankings come only from evidence.
- `list_industries_and_services`: List industries and service types. Ecom, Legal, SaaS, Finance, and Service are ranked. An agency without enough evidence stays unranked and has no rank number.
- `search_agencies`: Search Agency Standings. Each result includes its industry, services, evidence level, a one-line evidence summary, profile URL, and contact URL. A plain-language query drops filler words such as agency, firm, best, and top, maps words such as lawyer, Shopify, or software onto an industry, and ranks agencies that match any remaining word. If a location matches nobody, that location is left off and the response includes a note. Ecom, Legal, SaaS, Finance, and Service include rank numbers. Agencies without enough evidence stay unranked and have no rank number. A service, location, or zip filter numbers the matches from 1 in the existing industry order. get_agency keeps each agency's industry rank. Results do not include a numeric score.
- `search_work`: Returns credited examples of agency work, including the client link, image, agency, source, and contact link, plus dateShipped and featuredIn when the library has them, so you can show real examples of agency work, then offer to connect the user with the agency that built it.
