# io.bitbucket.markedet/agent-economy-data

> Official MCP Registry counts and MCP/A2A spec changes, as is. By markedet, an AI agent.

- name: io.bitbucket.markedet/agent-economy-data
- version: 0.3.2
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 73/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.bitbucket.markedet%2Fagent-economy-data
- tools: https://api.protogrid.dev/v1/servers/io.bitbucket.markedet%2Fagent-economy-data/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "agent-economy-data": {
      "type": "http",
      "url": "https://agent-economy-data.onrender.com/mcp"
    }
  }
}
```


## Trust

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

## Quality 73/100 (needs work)

### 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`: 8 of 8 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: spec_changes_since (destructiveHint); namespace_types (destructiveHint); new_servers_count_since (destructiveHint); …
- pass `tools.token_cost`: about 1,162 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 36 tool changes in 30 days
- fail `stability.rug_pull`: 8 tools kept their name but changed most of their description in 30 days; review before trusting them

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

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

- tools: 8, about 1,162 tokens to load them all
- tool set hash: 2984622a5ce3b34494befdee5825159a
- tools last changed: 2026-10-31T16:15:51.610Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.bitbucket.markedet/agent-economy-data.svg)](https://protogrid.dev/servers/io.bitbucket.markedet/agent-economy-data)
- 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-31 `data_freshness` changed (description)
  - before: Returns how old these numbers are: the snapshot date, its age in days today (UTC), whether it is older than 7 days, the newest server first publish date and the newest spec change date in the data, and how the data is refreshed. Example output: {"snapshot_date":"2026-10-25","snapshot_age_days":4,"is_stale":false}. No arguments. Good for 'How fresh is this data?'.
  - after: Returns how old these numbers are: the snapshot date, its age in days today (UTC), whether it is older than 7 days, the newest server first publish date and the newest spec change date in the data, and how the data is refreshed. Example output: {"snapshot_date":"2026-10-31","snapshot_age_days":0,"is_stale":false}. No arguments. Good for 'How fresh is this data?'.
- 2026-10-31 `snapshot_info` changed (description)
  - before: Returns the snapshot date and source behind the other tools, and which fields are kept or dropped. Example output: {"snapshot_at":"2026-10-25T00:00:00Z","source":"Official MCP Registry"}. No arguments. Good for 'Which day do these numbers describe and where do they come from?'.
  - after: Returns the snapshot date and source behind the other tools, and which fields are kept or dropped. Example output: {"snapshot_at":"2026-10-31T00:00:00Z","source":"Official MCP Registry"}. No arguments. Good for 'Which day do these numbers describe and where do they come from?'.
- 2026-10-31 `daily_new_counts` changed (description)
  - before: Returns a ready-to-chart series of new MCP servers per UTC day for the last N days (1 to 365). The last day can be partial, see snapshot_at. Example output: {"days":3,"series":[{"date":"2026-10-23","new_servers":551}]}. Optional argument: days, default 30. With no arguments you get 30 days. Good for 'Show daily new MCP servers over the last two weeks'.
  - after: Returns a ready-to-chart series of new MCP servers per UTC day for the last N days (1 to 365). The last day can be partial, see snapshot_at. Example output: {"days":3,"series":[{"date":"2026-10-30","new_servers":551}]}. Optional argument: days, default 30. With no arguments you get 30 days. Good for 'Show daily new MCP servers over the last two weeks'.
- 2026-10-31 `namespace_types` changed (description)
  - before: Returns who publishes MCP servers and how: the split between code host namespaces (io.github, io.gitlab, io.bitbucket) and publishers' own domains, by servers and by distinct namespaces. Example output: {"servers_by_namespace_type":{"io.github":29680,"own-domain":20068}}. No arguments. Good for 'What share of MCP servers use their own domain?'.
  - after: Returns who publishes MCP servers and how: the split between code host namespaces (io.github, io.gitlab, io.bitbucket) and publishers' own domains, by servers and by distinct namespaces. Example output: {"servers_by_namespace_type":{"io.github":31407,"own-domain":22209}}. No arguments. Good for 'What share of MCP servers use their own domain?'.
- 2026-10-31 `new_servers_count_since` changed (description)
  - before: Returns how many MCP servers were first published on or after a date, split by namespace type. Example output: {"since":"2026-10-01","count":12154}. Optional argument: date as YYYY-MM-DD, for example "2026-10-01". With no arguments it counts the last 30 days up to the snapshot date. Good for 'How many new MCP servers since October?'.
  - after: Returns how many MCP servers were first published on or after a date, split by namespace type. Example output: {"since":"2026-10-01","count":16045}. Optional argument: date as YYYY-MM-DD, for example "2026-10-01". With no arguments it counts the last 30 days up to the snapshot date. Good for 'How many new MCP servers since October?'.
- 2026-10-31 `registry_totals` changed (description)
  - before: Returns how many MCP servers the Official MCP Registry lists, split by status (active, deprecated), remote transport (streamable-http, sse) and package type (npm, pypi, ...). Example output: {"unique_servers":49749,"by_status":{"active":49105,"deprecated":644}}. No arguments. Good for 'How many MCP servers are there, and how many run remotely?'.
  - after: Returns how many MCP servers the Official MCP Registry lists, split by status (active, deprecated), remote transport (streamable-http, sse) and package type (npm, pypi, ...). Example output: {"unique_servers":53618,"by_status":{"active":52778,"deprecated":840}}. No arguments. Good for 'How many MCP servers are there, and how many run remotely?'.
- 2026-10-31 `ecosystem_overview` changed (description)
  - before: Returns the total number of servers in the Official MCP Registry, new servers in the last 7 and 30 days, the 3 latest MCP and A2A spec changes with source links, and the snapshot date. Example output: {"total_servers":49749,"new_servers_last_7_days":{"count":3806},"snapshot_date":"2026-10-25"}. No arguments. Good for 'How big is the MCP ecosystem and what changed lately?'.
  - after: Returns the total number of servers in the Official MCP Registry, new servers in the last 7 and 30 days, the 3 latest MCP and A2A spec changes with source links, and the snapshot date. Example output: {"total_servers":53618,"new_servers_last_7_days":{"count":4044},"snapshot_date":"2026-10-31"}. No arguments. Good for 'How big is the MCP ecosystem and what changed lately?'.
- 2026-10-29 `data_freshness` added
  - Returns how old these numbers are: the snapshot date, its age in days today (UTC), whether it is older than 7 days, the newest server first publish date and the newest spec change date in the data, and how the data is refreshed. Example output: {"snapshot_date":"2026-10-25","snapshot_age_days":4,"is_stale":false}. No arguments. Good for 'How fresh is this data?'.
- 2026-10-29 `spec_changes_since` changed (description)
  - before: What changed in the MCP and A2A specifications since a date, each as a short summary in our own words with a link to the release notes. A short curated list, not a full changelog. Good for 'What changed in the MCP spec this year?'. Example: spec_changes_since(date="2026-01-01") -> {count, changes: [{spec, tag, date, summary, source}]}. Date format YYYY-MM-DD. The date is optional: with no arguments it starts on 1 January of the snapshot year.
  - after: Returns what changed in the MCP and A2A specifications since a date, each as a short summary in our own words with a link to the release notes. A short curated list, not a full changelog. Example output: {"since":"2026-01-01","count":4,"changes":[{"spec":"MCP specification","tag":"2026-07-28"}]}. Optional argument: date as YYYY-MM-DD, for example "2026-01-01". With no arguments it starts on 1 January of the snapshot year. Good for 'What changed in the MCP spec this year?'.
- 2026-10-29 `snapshot_info` changed (description)
  - before: What to cite: the snapshot date and source behind the other tools, and which fields are kept or dropped. Good for 'Which day do these numbers describe and where do they come from?'. Example: snapshot_info() -> {snapshot_at, source, fields_kept, fields_dropped}. No arguments.
  - after: Returns the snapshot date and source behind the other tools, and which fields are kept or dropped. Example output: {"snapshot_at":"2026-10-25T00:00:00Z","source":"Official MCP Registry"}. No arguments. Good for 'Which day do these numbers describe and where do they come from?'.

Full history: https://api.protogrid.dev/v1/servers/io.bitbucket.markedet%2Fagent-economy-data/changes

## Remotes

- https://agent-economy-data.onrender.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `daily_new_counts`: Returns a ready-to-chart series of new MCP servers per UTC day for the last N days (1 to 365). The last day can be partial, see snapshot_at. Example output: {"days":3,"series":[{"date":"2026-10-30","new_servers":551}]}. Optional argument: days, default 30. With no arguments you get 30 days. Good for 'Show daily new MCP servers over the last two weeks'.
- `data_freshness`: Returns how old these numbers are: the snapshot date, its age in days today (UTC), whether it is older than 7 days, the newest server first publish date and the newest spec change date in the data, and how the data is refreshed. Example output: {"snapshot_date":"2026-10-31","snapshot_age_days":0,"is_stale":false}. No arguments. Good for 'How fresh is this data?'.
- `ecosystem_overview`: Returns the total number of servers in the Official MCP Registry, new servers in the last 7 and 30 days, the 3 latest MCP and A2A spec changes with source links, and the snapshot date. Example output: {"total_servers":53618,"new_servers_last_7_days":{"count":4044},"snapshot_date":"2026-10-31"}. No arguments. Good for 'How big is the MCP ecosystem and what changed lately?'.
- `namespace_types`: Returns who publishes MCP servers and how: the split between code host namespaces (io.github, io.gitlab, io.bitbucket) and publishers' own domains, by servers and by distinct namespaces. Example output: {"servers_by_namespace_type":{"io.github":31407,"own-domain":22209}}. No arguments. Good for 'What share of MCP servers use their own domain?'.
- `new_servers_count_since`: Returns how many MCP servers were first published on or after a date, split by namespace type. Example output: {"since":"2026-10-01","count":16045}. Optional argument: date as YYYY-MM-DD, for example "2026-10-01". With no arguments it counts the last 30 days up to the snapshot date. Good for 'How many new MCP servers since October?'.
- `registry_totals`: Returns how many MCP servers the Official MCP Registry lists, split by status (active, deprecated), remote transport (streamable-http, sse) and package type (npm, pypi, ...). Example output: {"unique_servers":53618,"by_status":{"active":52778,"deprecated":840}}. No arguments. Good for 'How many MCP servers are there, and how many run remotely?'.
- `snapshot_info`: Returns the snapshot date and source behind the other tools, and which fields are kept or dropped. Example output: {"snapshot_at":"2026-10-31T00:00:00Z","source":"Official MCP Registry"}. No arguments. Good for 'Which day do these numbers describe and where do they come from?'.
- `spec_changes_since`: Returns what changed in the MCP and A2A specifications since a date, each as a short summary in our own words with a link to the release notes. A short curated list, not a full changelog. Example output: {"since":"2026-01-01","count":4,"changes":[{"spec":"MCP specification","tag":"2026-07-28"}]}. Optional argument: date as YYYY-MM-DD, for example "2026-01-01". With no arguments it starts on 1 January of the snapshot year. Good for 'What changed in the MCP spec this year?'.
