An observation record, not an assessment. Every row below is a change we recorded directly, with the content hash before and after. https://api.metagraph.sh/mcp
1 of these transitions happened while the reported version string stayed the same. A consumer pinning that version would have received a different tool surface with nothing in the version to indicate it. That is a compatibility and review fact, not a security finding and not an allegation of wrongdoing — unversioned iteration is normal practice and is frequently deliberate.
| observed at (UTC) | change | version signal | reported version | tools | surface hash |
|---|---|---|---|---|---|
| 2026-09-29 13:40:02Z | SURFACE_CHANGED | version-signalled | 1.78.28 → 1.78.29 | +invoke_read_tool +invoke_tool +search_tools −ask −call_rpc −call_subnet_surface −compare_subnets −compare_validators −decode_evm_call −delete_surface_credential −find_subnet_for_task −find_subnet_opportunities −find_subnets_by_capability −get_account −get_account_axon_removals −get_account_balance −get_account_children −get_account_counterparties −get_account_deregistrations −get_account_entities −get_account_events −get_account_extrinsics −get_account_history −get_account_identity −get_account_identity_history −get_account_parents −get_account_portfolio −get_account_position_history −get_account_positions −get_account_prometheus −get_account_registrations −get_account_root_claim −get_account_serving −get_account_snapshot −get_account_stake_flow −get_account_stake_moves −get_account_subnets −get_account_transfers −get_account_weight_setters −get_adapter −get_agent_catalog −get_agent_resources −get_alert_trigger −get_api_schema −get_best_rpc_endpoint −get_block −get_block_chain_events −get_block_events −get_blocks_summary −get_build −get_chain_activity −get_chain_alpha_volume −get_chain_axon_removals −get_chain_burn −get_chain_calls −get_chain_concentration −get_chain_concentration_history −get_chain_concentration_subnets −get_chain_deregistrations −get_chain_fees −get_chain_holders −get_chain_identity_history −get_chain_idle_stake −get_chain_performance −get_chain_prometheus −get_chain_registrations −get_chain_serving −get_chain_signers −get_chain_stake_flow −get_chain_stake_moves −get_chain_stake_transfers −get_chain_subnet_lifecycle −get_chain_transfer_pairs −get_chain_transfers −get_chain_turnover −get_chain_weight_setters −get_chain_weights −get_chain_yield −get_changelog −get_contracts −get_coverage −get_coverage_depth −get_crowdloan −get_deregistration_ranking −get_deregistration_ranking_history −get_domain_summary −get_economics −get_economics_trends −get_emission_changes −get_emission_pipeline −get_emission_pipeline_history −get_evm_address_mapping −get_extrinsic −get_extrinsic_chain_events −get_failure_reasons −get_feed −get_fixture −get_freshness −get_global_incidents −get_governance_config_changes −get_health_history −get_health_trends −get_indexer_lag −get_lineage −get_network_activity −get_network_health −get_network_parameters −get_networks −get_neuron −get_neuron_history −get_provider_detail −get_randomness_status −get_registry_leaderboards −get_rpc_usage −get_runtime −get_self_health −get_source_health −get_stake_action_preview −get_subnet −get_subnet_axon_removals −get_subnet_burn −get_subnet_burn_history −get_subnet_candidates −get_subnet_concentration −get_subnet_concentration_history −get_subnet_conviction −get_subnet_cost_to_participate −get_subnet_deregistrations −get_subnet_detail −get_subnet_economics −get_subnet_emission_split_history −get_subnet_endpoints −get_subnet_event_summary −get_subnet_events −get_subnet_evidence −get_subnet_gaps −get_subnet_health −get_subnet_health_incidents −get_subnet_health_percentiles −get_subnet_health_trends −get_subnet_history −get_subnet_holders −get_subnet_hyperparams −get_subnet_hyperparams_history −get_subnet_identity_history −get_subnet_idle_stake −get_subnet_lease −get_subnet_lease_history −get_subnet_lifecycle −get_subnet_metagraph −get_subnet_miner_fairness −get_subnet_movers −get_subnet_ohlc −get_subnet_owner_capture −get_subnet_owner_cut −get_subnet_ownership_history −get_subnet_performance −get_subnet_performance_history −get_subnet_profile −get_subnet_prometheus −get_subnet_recycled −get_subnet_registrations −get_subnet_revenue −get_subnet_serving −get_subnet_snapshot −get_subnet_stake_flow −get_subnet_stake_moves −get_subnet_stake_quote −get_subnet_stake_transfers −get_subnet_surface_history −get_subnet_surfaces −get_subnet_trajectory −get_subnet_treasury −get_subnet_turnover −get_subnet_uptime −get_subnet_validator_economics −get_subnet_validator_economics_history −get_subnet_volume −get_subnet_wallets −get_subnet_weight_setters −get_subnet_weights −get_subnet_yield −get_subnet_yield_history −get_sudo −get_sudo_key −get_tao_usd −get_top_holders −get_validator_detail −get_validator_history −get_validator_nominators −get_webhook_subscription −how_do_i_call −list_accounts −list_adapter_candidates −list_block_extrinsics −list_blocks −list_candidates −list_chain_events −list_crowdloans −list_curation −list_endpoint_incidents −list_endpoint_pools −list_endpoints −list_enrichment_evidence −list_enrichment_queue −list_enrichment_targets −list_evidence −list_extrinsics −list_fixtures −list_gaps −list_global_validators −list_profile_completeness −list_profiles −list_provider_endpoints −list_providers −list_revenue_coverage −list_review_attribution_candidates −list_review_enrichment_targets −list_review_gaps −list_rpc_endpoints −list_rpc_pools −list_schemas −list_search −list_search_index −list_source_snapshots −list_subnet_apis −list_subnet_candidates −list_subnet_endpoints −list_subnet_evidence −list_subnet_gaps −list_subnet_health −list_subnet_surfaces −list_subnet_validators −list_subnets −list_surface_credentials −list_surfaces −list_validator_economics −query_graphql −registry_summary −run_saved_query −search_subnets −semantic_search −store_surface_credential −verify_integration −write_subnet_surface | 4cdf0183dda2 → 147c8bff2c3e |
| 2026-09-28 07:40:03Z | PARAMS_CHANGED | SILENT — version string did not move | 1.78.28 (unchanged) | no tool-name change recorded | — |
This section is identical for ~92% of publishers and is published as
shared context, not as a finding about api.metagraph.sh. 90 dependency
packages sit beneath the measured MCP population; 41 have a
single maintainer and 31 have not published in over two years.
The widest is zod at
80.46% of npm-backed servers (8529 servers,
1 maintainer, last publish 2026-09-13).
These are properties of the shared SDK dependency closure. Any page claiming this set as
one operator's personal exposure is misreading a universal fact as a private one.
Source: state/mcp-census/chokepoint-maintainers.json, as_of 2026-10-07.
Observation window 2026-09-21 → 2026-10-10.
22,294 servers were observed; 2,214
were seen to change and 20,080 were observed and
recorded no change — that negative control is why a non-zero count here means something.
Across the corpus, 4,781 of
6,334 changes carried no version signal, and
1,690 of those added or removed tools.
What this does NOT cover: servers outside the observed set; changes that
occurred before 2026-09-21; changes that began and reverted between two observations;
and any server reachable only with credentials we do not hold. A server's absence from this
record is not evidence it did not change — only that we did not observe it.
Universe captured 2026-10-10T19:40:03.823Z. Produced by core/surface_history_page.cjs (reads core/surface_clock producers).
Hashes are of the served tool surface and are recomputable from the server's own response.