Mapa Societario — Spanish Company Registry (BORME)
REMOTE · MCP.MAPASOCIETARIO.ES · SCANNED AUG 20
Search Spanish companies and directors from the official BORME registry and map their links.
Available components
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. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 4 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1123 tokens (~280/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management7
- Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.mapasocietario.es
claude mcp add --transport http es-mapasocietario-borme https://mcp.mapasocietario.es/mcp
[mcp_servers.es-mapasocietario-borme] url = "https://mcp.mapasocietario.es/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"es-mapasocietario-borme": {
"type": "remote",
"url": "https://mcp.mapasocietario.es/mcp",
"enabled": true
}
}
} openclaw mcp add es-mapasocietario-borme --url https://mcp.mapasocietario.es/mcp --transport streamable-http
mcp_servers:
es-mapasocietario-borme:
url: "https://mcp.mapasocietario.es/mcp" {
"mcpServers": {
"es-mapasocietario-borme": {
"type": "http",
"url": "https://mcp.mapasocietario.es/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Aug 26 +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.
- 19 Aug 26 0
- Stability: unverified → 0.03 ▲ functional
- 18 Aug 26 61
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Aug 2026 · Probed https://mcp.mapasocietario.es/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mapasocietario.es | CN=WE1,O=Google Trust Services,C=US | 24 Jun 2026 | 22 Sept 2026 | ECDSA 256 | ECDSA-SHA256 | 2660f5431904d08e13dc85f2a6a9a7a2 |
| SANs: mapasocietario.es, mcp.mapasocietario.es, *.mcp.mapasocietario.es | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of mcp.mapasocietario.es. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| es. | present | 54404 | 8 | Verified |
| mapasocietario.es. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.mapasocietario.es/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.mapasocietario.es/mcp | HTTPS enforced | 301 | https://mcp.mapasocietario.es/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
get_company ~301
Get the BORME registry profile of one Spanish company: status, incorporation, current and former officers, sole shareholder (BORME records only sole-shareholder ownership), and — where available — NIF, share capital and registered address. NIF is never in BORME, and capital/address are missing for entities last amended before 2009; such values may be filled by web search and are flagged `*_external: true` (verify before relying on them). Officers are capped at the 25 most relevant (board/management before apoderados) with `*_officers_total` counts and an `officers_truncated` flag — large companies register hundreds of apoderados. Includes a mapasocietario.es link to cite. Resolves to exactly one entity by its current OR former name (company renames are handled) and returns not-found rather than a near-miss — if unsure of the exact name, call search_companies first. `name` is always the company's CURRENT name; if you queried an old name (or the result's name looks unrelated to your query), check `former_names` — it lists every prior registered name (registry-recorded 'Cambio de denominación social') before assuming this is the wrong company.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Company name (fuzzy-resolved to one entity). |
| slug | string | – | A mapasocietario /empresa slug, e.g. 'acme-sl'. |
No output schema declared.
No examples provided.
get_company_network ~197
Show companies directly connected to one Spanish company: via a shared board/management officer (shared_officer — apoderados and representatives are excluded as low-signal), via being owned by it (owns), or via owning it (owned_by). Answers 'is there a relationship between company X and company Y?'. shared_officer edges carry `status`: 'active' means the shared officer still holds the seat at the connected company, 'ceased' means the registry has inscribed their cessation there — a ceased edge is a HISTORICAL link, do not report it as a current one. Active edges are listed first, so a truncated list keeps the live relationships. Resolves to one entity by current or former name (renames handled). Each connection links to mapasocietario.es.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Company name (fuzzy-resolved). |
| slug | string | – | A mapasocietario /empresa slug. |
No output schema declared.
No examples provided.
search_companies ~143
Search Spanish companies by name in the BORME registry. Returns ranked matches (fuzzy — tolerant of typos) with status and a mapasocietario.es/empresa link to cite. A hit's `name` is always its CURRENT registered name; when the entity has been renamed, `former_names` lists its prior name(s) — a hit whose `name` differs from your query is not necessarily a wrong match, check `former_names` first. Use this first to resolve a company before get_company.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (1-25, default 10). |
| query | string | yes | Company name or partial name. |
No output schema declared.
No examples provided.
search_officers ~322
Find a person (administrator/director/apoderado) in the BORME registry and list the companies they are linked to. Answers 'is officer Z present in other companies?'. Returns ONE row per company, with `roles` listing every post held there. `status` (per row and per role) is 'active' when the appointment is still in force and 'ceased' once the registry has inscribed the cessation — never describe a ceased role as a current directorship. Each role also carries `date` where the registry recorded one: the APPOINTMENT date for an active role, the CESSATION date for a ceased one — read it against that role’s status, never as a single “since”. When the officer held the seat before that (a revoke-and-reappoint, common in Spanish registries), the role also carries `first_appointed` — cite THAT for “since when”, not `date` — and `history`, every published act newest-first. Companies where the person is still in office come first, so a truncated list keeps the live ones. `companies_total`/`companies_active` count COMPANIES and `seats_total` counts appointment rows — cite the company figures when asked how many companies someone sits on. `counts_are_lower_bound: true` means more companies exist than could be read. Each row links to mapasocietario.es/empresa.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max rows (1-25, default 10). |
| name | string | yes | Person name or partial name. |
No output schema declared.
No examples provided.