# io.github.abasmartinc/apiempresas (remote · apiempresas.es)

Spanish company data: CIF lookup, BORME, directors, KYB, sanctions and open public tenders.

- Trust score: 70/100 (medium)
- Change this week: +47
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `apiempresas.es`: 70/100 (this document), [markdown](https://verifymcp.io/servers/abasmartinc-apiempresas/api-mcp.md), [page](https://verifymcp.io/servers/abasmartinc-apiempresas/api-mcp)
- npm · `apiempresas-mcp`: 74/100, [markdown](https://verifymcp.io/servers/abasmartinc-apiempresas/apiempresas-mcp.md), [page](https://verifymcp.io/servers/abasmartinc-apiempresas/apiempresas-mcp)

## Channel facts

- Endpoint: `https://apiempresas.es/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.4.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 70/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2130 tokens (~177/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the io.github.abasmartinc/apiempresas MCP server?

io.github.abasmartinc/apiempresas is a hosted endpoint at https://apiempresas.es/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http abasmartinc-apiempresas 'https://apiempresas.es/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "abasmartinc-apiempresas": {
      "url": "https://apiempresas.es/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "abasmartinc-apiempresas": {
      "type": "http",
      "url": "https://apiempresas.es/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.abasmartinc-apiempresas]
url = "https://apiempresas.es/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "abasmartinc-apiempresas": {
      "type": "remote",
      "url": "https://apiempresas.es/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add abasmartinc-apiempresas --url 'https://apiempresas.es/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  abasmartinc-apiempresas:
    url: "https://apiempresas.es/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "abasmartinc-apiempresas": {
      "Transport": "http",
      "Url": "https://apiempresas.es/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add abasmartinc-apiempresas -t streamable-http -u 'https://apiempresas.es/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "abasmartinc-apiempresas": {
      "type": "http",
      "url": "https://apiempresas.es/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-03 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 69, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-11-01 (score 69, +46)

- [security improvement] Injection markers: unverified → pass
- [security improvement] Authorization: unverified → partial
- [security improvement] Transport: fail → pass
- [security] First check of Judged manipulation: pass
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Destructive annotations: pass
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 100

### 2026-10-18 (score 23)

First indexed and scored.

## MCP tools (12)

### `get_company` (~213 tokens)

Empresa por CIF

Ficha de UNA empresa española cuando ya tienes su CIF/NIF. Úsala para saber si existe y está activa, su razón social, forma jurídica (con código ISO 20275), código LEI, CNAE, provincia y fecha de constitución; con plan Pro, también domicilio, tramo de facturación, socio único, matriz del grupo y, con include_directors, los administradores vigentes, el tramo de empleados y cuántas sociedades comparten su domicilio (domicilio masivo). Si no tienes el CIF, usa search_companies; para decidir un alta (KYB), verify_company. Gasta 1 consulta; sin API key funciona con los datos básicos y un límite diario. Spanish company lookup by tax ID.

Input parameters:

- `cif` (string, required): CIF/NIF de la sociedad española, p. ej. A46103834 (se aceptan espacios y guiones)
- `include_directors` (boolean): true para incluir administradores y cargos vigentes (Pro y Business)

### `search_companies` (~121 tokens)

Buscar empresas por nombre

Busca empresas españolas por nombre o parte del nombre y devuelve las candidatas con su CIF, provincia y estado. Úsala cuando NO tienes el CIF de una empresa concreta; después, get_company con el CIF elegido. Para convertir una lista de muchos nombres en CIF, mejor find_cif_by_name. Sin API key funciona con hasta 10 resultados y un límite diario. Search Spanish companies by name.

Input parameters:

- `limit` (integer): Número máximo de resultados (por defecto 10)
- `query` (string, required): Nombre o parte del nombre de la empresa

### `verify_company` (~299 tokens)

Verificación KYB

Verificación para dar de alta a un cliente o proveedor (KYB) en una llamada: comprueba que la sociedad existe y opera, que la razón social que te han dado coincide (name), que quien firma es administrador vigente o socio único (person) y, si se pide, el NIF-IVA en VIES (vat) y si tiene EORI para importar y exportar fuera de la UE (eori). Avisa si el domicilio lo comparten muchas sociedades (domicilio masivo). Devuelve alertas y una recomendación pass / review / fail, además de forma jurídica, LEI, matriz y socio único. Úsala para decidir; para solo consultar datos, get_company. Plan Pro; gasta 2 consultas. KYB check for a Spanish company.

Input parameters:

- `cif` (string, required): CIF/NIF de la sociedad española, p. ej. A46103834 (se aceptan espacios y guiones)
- `eori` (boolean): true para comprobar si tiene número EORI de operador de aduanas (importa o exporta fuera de la UE)
- `name` (string): Razón social que ha declarado el cliente, para comprobar que coincide
- `person` (string): Nombre y apellidos de quien firma, para comprobar si es administrador o socio único
- `vat` (boolean): true para comprobar además el NIF-IVA intracomunitario en VIES

### `find_cif_by_name` (~113 tokens)

De nombre a CIF (lista)

Convierte una LISTA de nombres de empresa (hasta 100) en sus CIF, con resultado match, ambiguous o no_match para cada uno. Úsala para completar hojas de clientes o proveedores que solo tienen el nombre. Solo los match gastan consulta. Para un solo nombre, search_companies. Plan Pro.

Input parameters:

- `names` (array, required): Nombres de empresas
- `province` (string): Provincia (p. ej. VALENCIA) para desempatar; se aplica a todos los nombres

### `verify_invoice_recipients` (~224 tokens)

Validar NIF de clientes para facturar

Valida una LISTA de clientes (hasta 100) antes de emitirles facturas (Verifactu, factura electrónica): por cada NIF, si el formato es válido, si la sociedad consta, su razón social y domicilio oficiales, su estado y, si das el nombre que tienes guardado, si coincide. Devuelve invoice_hint ok / revisar / no_facturar con los motivos (extinguida, absorbida, en concurso, nombre distinto, NIF de ejemplo...). Úsala para revisar la cartera de clientes de un programa de facturación o ERP; para dar de alta a un solo cliente con más detalle, verify_company. No sustituye al censo de la AEAT. Plan Pro, Business o saldo; gasta 1 consulta por sociedad encontrada (lo que no consta no se cobra). Bulk VAT/tax ID check of invoice recipients.

Input parameters:

- `items` (array, required): Clientes a validar
- `vat` (boolean): true para comprobar además el NIF-IVA en VIES (solo con 20 clientes o menos)

### `get_borme_history` (~109 tokens)

Historial del BORME

Todos los actos publicados en el BORME de una empresa, con fecha y PDF oficial: constitución, nombramientos y ceses, ampliaciones de capital, cambios de domicilio o de nombre, disolución, concurso... Úsala para la historia y los cambios recientes; para el estado actual basta get_company. Plan Pro.

Input parameters:

- `cif` (string, required): CIF/NIF de la sociedad española, p. ej. A46103834 (se aceptan espacios y guiones)

### `get_risk_profile` (~105 tokens)

Perfil de riesgo

Nivel de riesgo de una empresa y sus motivos, calculado a partir de sus publicaciones en el BORME (concursos, disoluciones, cierres de hoja registral, cuentas no depositadas, cambios de administradores...). Úsala antes de dar crédito o firmar con un proveedor. Plan Business.

Input parameters:

- `cif` (string, required): CIF/NIF de la sociedad española, p. ej. A46103834 (se aceptan espacios y guiones)

### `get_public_contracts` (~104 tokens)

Contratos públicos

Contratos del sector público adjudicados a una empresa (Plataforma de Contratación del Sector Público): organismo, objeto, importe y fecha. Plan Business.

Input parameters:

- `cif` (string, required): CIF/NIF de la sociedad española, p. ej. A46103834 (se aceptan espacios y guiones)
- `limit` (integer): Contratos por página (por defecto 20)
- `page` (integer): Página (por defecto 1)

### `get_subsidies` (~166 tokens)

Subvenciones y ayudas públicas

Subvenciones, préstamos, garantías y ventajas fiscales concedidos a una empresa española según la Base de Datos Nacional de Subvenciones (BDNS), desde 2022, Kit Digital incluido: resumen por año, por instrumento y las convocatorias con más importe, y la lista de concesiones. Úsala para prospección de ayudas o para saber cuánto dinero público recibe. Plan Business; gasta 1 consulta. Public grants received by a Spanish company.

Input parameters:

- `cif` (string, required): CIF/NIF de la sociedad española, p. ej. A46103834 (se aceptan espacios y guiones)
- `limit` (integer): Concesiones por página (por defecto 20)
- `year` (integer): Solo las concesiones de ese año

### `search_tenders` (~286 tokens)

Licitaciones públicas abiertas

Licitaciones públicas EN PLAZO en España (Plataforma de Contratación del Sector Público y plataformas autonómicas): título, organismo, provincia, importe, plazo de ofertas, CPV y enlace para presentarse. Filtra por palabras del título (query), CPV, provincia, tipo (supplies, services, works) e importe. Con cif, devuelve las abiertas parecidas a los contratos que esa empresa ya ha ganado: úsala para "¿a qué concursos se puede presentar esta empresa?". Plan Business; gasta 1 consulta. Open public tenders in Spain.

Input parameters:

- `cif` (string): CIF de una empresa: licitaciones parecidas a lo que ya ha ganado
- `cpv` (string): CPV o su principio, separados por comas (p. ej. "72,48" para informática)
- `limit` (integer): Número de licitaciones (por defecto 20)
- `max_amount` (number): Importe máximo sin IVA (euros)
- `min_amount` (number): Importe mínimo sin IVA (euros)
- `province` (string): Provincia del organismo, p. ej. Madrid, Barcelona, Bizkaia
- `query` (string): Palabras que deben aparecer en el título, p. ej. "limpieza colegios"
- `type` (string): Tipo de contrato

### `check_sanctions` (~200 tokens)

Listas de sanciones

Comprueba si una empresa española (por cif, junto con sus administradores vigentes) o un nombre suelto (name) aparece en las listas de sanciones de la UE, la ONU y OFAC (EE. UU.). Devuelve cada coincidencia con su grado (strong o possible), la lista, el programa, la fecha, el país y la fecha de nacimiento para confirmarla o descartarla: un nombre parecido no es una coincidencia confirmada. Úsala en altas de clientes o proveedores (KYB, prevención de blanqueo). Plan Business; gasta 1 consulta. Sanctions screening (EU, UN, OFAC).

Input parameters:

- `cif` (string): CIF de la empresa (se comprueban la razón social y los administradores)
- `name` (string): Nombre de una persona o entidad, en lugar de cif
- `type` (string): Con name: person, entity o any

### `get_usage` (~45 tokens)

Consumo de la cuenta

Plan de la cuenta del usuario, consultas usadas y disponibles y saldo de créditos. No gasta consultas. Úsala si una herramienta responde que se ha agotado el cupo.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/abasmartinc-apiempresas/api-mcp#diagnostics

## Score history

- 2026-11-05: 70
- 2026-11-04: 70
- 2026-11-03: 70
- 2026-11-02: 69
- 2026-11-01: 69
- 2026-10-31: 23
- 2026-10-30: 23
- 2026-10-29: 23
- 2026-10-28: 23
- 2026-10-27: 23
- 2026-10-26: 23
- 2026-10-25: 23
- 2026-10-24: 23
- 2026-10-23: 23
- 2026-10-22: 23
- 2026-10-21: 23
- 2026-10-20: 23
- 2026-10-19: 23
- 2026-10-18: 23

## Common questions

### What is the io.github.abasmartinc/apiempresas MCP server?

io.github.abasmartinc/apiempresas is an MCP server listed in the public MCP registry as io.github.abasmartinc/apiempresas. Spanish company data: CIF lookup, BORME, directors, KYB, sanctions and open public tenders. This page covers its hosted endpoint (https://apiempresas.es/api/mcp).

### Is the io.github.abasmartinc/apiempresas MCP server safe to use?

io.github.abasmartinc/apiempresas scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.abasmartinc/apiempresas MCP server expose?

io.github.abasmartinc/apiempresas exposes 12 tools: get_company, search_companies, verify_company, find_cif_by_name, verify_invoice_recipients, and 7 more. Their descriptions and schemas cost roughly 1,985 tokens of context every time the server is loaded.

### Does the io.github.abasmartinc/apiempresas MCP server require authentication?

No. We connected to io.github.abasmartinc/apiempresas without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the io.github.abasmartinc/apiempresas MCP server still maintained?

io.github.abasmartinc/apiempresas is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://apiempresas.es/api/mcp
- Repository: https://github.com/abasmartinc/apiempresas-mcp
- Website: https://apiempresas.es/
- Changelog RSS feed: https://verifymcp.io/servers/abasmartinc-apiempresas/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/abasmartinc-apiempresas/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/abasmartinc-apiempresas/api-mcp
