Agent Data Tools: Company, compliance and checks
38 tools: OFAC sanctions, counterparty checks, company, domain, email. 25 free calls.
Descripción del creador (original en inglés)
Query 76 open data APIs — government, science, finance, environment, and more.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"meta-data": {
"command": "uvx",
"args": [
"meta-data-mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add meta-data -- uvx meta-data-mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"meta-data": {
"command": "uvx",
"args": [
"meta-data-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"meta-data": {
"type": "stdio",
"command": "uvx",
"args": [
"meta-data-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub derekslinz, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (2.5.0) llegó al registro hace 6 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Agent Data Tools: Company, compliance and checks, Agent Data Tools, Private Law Wiki
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
38 tools: OFAC sanctions, counterparty checks, company, domain, email. 25 free calls.
641 agent tools: chain data, prices, sanctions, web, PDF. 25 free calls, then from $0.002.
Sourced answers, search and bank-case assessment for wiki.private.law by the Mothership runtime.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A single MCP server that transparently routes user requests to 90 open-data sources.
meta-data-mcp is one MCP server — not many. Under the hood it bundles 90 *plugins*, each wrapping a different open-data API. The plugins are an implementation detail; from your LLM's perspective there is one server and one place to ask "where can I find data about X?"
You install one server. You get all the data, discoverable through built-in routing tools.
Finding open data isn't the hard part — there's an absurd amount of it available. The hard part is finding the right dataset *when you need it*. meta-data-mcp makes that automatic:
opendata_providers_find ("FX rates", "court rulings", "earthquakes near Lisbon") and the server routes the query against an internal registry of every bundled plugin.This project was forked from opendata-mcp and reshaped around the single-server idea once the catalogue passed a few dozen plugins.
You'll need uv (a Python package manager).
# macOS — install uv via Homebrew so MCP clients can find it
brew install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Then register the server with every MCP client installed on your machine:
uv run meta-data-mcp setup
The command auto-detects which MCP clients you have installed and adds one meta-data-mcp entry under mcpServers in each. Supported clients:
| Client | Config file |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%/Claude/claude_desktop_config.json (Windows) |
| Claude Code | ~/.claude.json |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Gemini CLI | ~/.gemini/settings.json |
| LM Studio | ~/.cache/lm-studio/mcp.json |
Each existing config is backed up to .bak before writing. Restart the affected client(s) and you'll see one new server with discovery tools available immediately; plugin tools can then be activated on demand.
Inspect what's detected / configured on your machine:
uv run meta-data-mcp clients
Target a single client (or write to every supported client regardless of detection):
uv run meta-data-mcp setup --client claude-code
uv run meta-data-mcp setup --client all
If you want to see the JSON snippet without touching any config file (e.g. to paste into a client we don't support yet):
uv run meta-data-mcp setup --print-json
When META_DATA_MCP_AUTH_TOKEN is set, --print-json also surfaces the SSE-client snippet (with the real token) to stderr so you can wire a remote client.
meta-data-mcp as a remote SSE serverFor deploying behind your own domain with bearer-token authentication, see docs/hosting.md. It covers systemd, Caddy/nginx TLS termination, token rotation, and the threat model.
There is one server, so the CLI takes no "provider" argument. Every command operates on the one meta-data-mcp server.
| Command | What it does |
|---|---|
uv run meta-data-mcp run | Run the server (default SSE; pass --transport stdio for Claude Desktop). |
uv run meta-data-mcp setup | Register the server in detected MCP client configs (or one target via --client). |
uv run meta-data-mcp remove | Unregister the server from detected MCP client configs (or one target via --client). |
uv run meta-data-mcp cleanup | Detect and remove legacy multi-server entries (--apply to commit). |
uv run meta-data-mcp inspect | Launch mcp-inspector against the server. |
uv run meta-data-mcp list | Informational: list the internal plugins bundled in this server. |
uv run meta-data-mcp info | Informational: show server overview. Pass --plugin for plugin-level details. |
uv run meta-data-mcp version | Print the package version. |
The list command exists for transparency about what's bundled — plugins are not separately installable, runnable, or addressable. They are loaded automatically when the server starts.
Once meta-data-mcp is running, the LLM has access to two layers of tools — and you don't need to mention either to the user:
META_DATA_MCP_PRELOAD). The LLM picks one after consulting the meta tools.| Tool | Purpose |
|---|---|
opendata_providers_find | Free-text search over the plugin registry. Returns ranked matches. When nothing matches the response carries a no_match: true flag and a next_step hint pointing at opendata_plugins_draft + opendata_plugins_create. |
opendata_explain_choice | Show the scoring breakdown for a search (useful for debugging routing decisions). |
opendata_domains_list | Enumerate the controlled domain vocabulary (health, legal, finance, earth-science, …). |
opendata_regions_list | Enumerate the controlled region vocabulary (us, eu, uk, global, …). |
opendata_providers_describe | Full metadata for one plugin by id — title, description, domains, regions, keywords, homepage, required env vars. |
opendata_providers_list | Paginated dump of the whole registry. |
opendata_providers_activate | Activate one provider so its tools become callable in this session. |
opendata_providers_deactivate | Remove an activated provider's tools from the current session catalog. |
opendata_providers_list_active | List currently active providers and the tool names each contributes. |
opendata_health_snapshot | Return per-provider health scores used by discovery health badges and routing context. |
opendata_plugins_draft | Build a validated plugin YAML spec from structured inputs. Takes id, base_url, tool definitions (name, endpoint, params), and registry metadata. Validates id/tool-name casing, path-placeholder/param consistency, and parameter types, then emits a YAML string ready to feed into opendata_plugins_create. Use this so the LLM never has to hand-author YAML. |
opendata_plugins_create | Autonomously create a new plugin. Takes a YAML spec (typically produced by opendata_plugins_draft), runs the generator, imports the new module, registers it in the live registry, and hot-loads its tools onto the running server. Use this when opendata_providers_find returns no match. |
opendata_tool_call | Proxy-call an activated plugin tool by name for environments that cannot directly invoke dynamically added tools. |
The reason this server is called "meta" is that it routes data requests on the user's behalf — including by *creating* the route when one doesn't exist yet. The full flow:
cve, vulnerability, …).opendata_providers_activate, or activate_top in find) and then calls the plugin tool.no_match: true and a next_step field that explains the autonomous creation path. The LLM:opendata_plugins_draft with the API's id, base URL, and structured tool definitions. The server validates the inputs (id casing, path-placeholder consistency, parameter types) and returns a YAML string.opendata_plugins_create. The server materializes the plugin module + tests, imports the module, registers a ProviderEntry in the in-memory dynamic registry, and merges the new tools into the running server's tool list.The materialized plugin lives on disk (meta_data_mcp/providers/{id}.py + tests/providers/test_{id}.py); contributors can clean it up, add it to meta_data_mcp/registry.py as a static entry, and open a PR so it becomes part of every shipped install.
Every bundled plugin contributes its own tools under the one server. Their names are unique kebab-case identifiers, often using a provider-specific prefix (e.g. usgs-eq-feed-significant-week, frankfurter-latest, wikipedia-fetch-summary). The LLM discovers them through opendata_providers_find/opendata_providers_describe, activates the provider when needed, and can inspect session state with opendata_providers_list_active.
When opendata_plugins_create builds a new plugin, meta-data-mcp opens a pull request contributing it back to the project so others can use it — the catalogue grows from real usage.
contribute/plugin- branch. Your working tree is never touched.META_DATA_MCP_AUTO_CONTRIBUTE=0.origin remote; override with META_DATA_MCP_CONTRIBUTE_REPO=owner/repo.gh CLI authenticated with push access. Without it, the branch is committed locally and the response tells you how to finish the PR.v2.0 adds a visual layer on top of every tool result. Hosts that support the MCP Apps extension (Claude Desktop, MCP Inspector, others) render bound tool results inline as interactive panels in a sandboxed iframe instead of as JSON text. Hosts that don't speak MCP Apps fall back to the same JSON they always got — the binding is purely additive.
Each MCP-Apps-aware tool declares its panel via _meta.ui.resourceUri on the tool description. The host fetches the ui:// resource (HTML + bundled JS, single payload, no external requests besides explicitly-whitelisted CDNs) and dispatches bidirectional postMessage events between the iframe and itself.
ui://meta-data-mcp/shape/ /v1Three reusable bundles cover the common payload contracts. Any tool whose response matches one of these shapes binds to the corresponding primitive automatically and gets a rich renderer for free.
| Shape | Renders | Payload contract | |
|---|---|---|---|
timeseries/v1 | Line chart + auto-computed profile (min/max/mean/stddev/gap-count) via Plotly. | {points: [{date, value, series?}], axes: {x, y}, annotations?} | |
geofeatures/v1 | Leaflet map + marker cluster (with density layer for high-cardinality outputs). | `{features: GeoJSON | [{lat, lon, attrs}], layers?, facets?}` |
records/v1 | Faceted, sortable, paginated HTML table + per-column auto-profile (type inference, top-k, null rate, range). | {rows: [...], schema?, default_facets?} |
ui://meta-data-mcp/app/ /v1Some data shapes don't fit a generic pri
Solo se muestra el principio; lee el resto en el repo