{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-06T17:18:09.584Z","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp","markdownUrl":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp.md","server":{"slug":"com-bormeapi-borme-mcp","name":"BORME API","registryName":"com.bormeapi/borme-mcp","description":"Spain's company registry gazette (BORME): more than 9.6 million events since 2009. API key or OAuth.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"mcp","type":"remote","identifier":"https://mcp.bormeapi.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp","version":"2.1.0","transport":null,"scoredAt":"2026-11-06T08:30:35.915Z"},"score":{"total":78,"tier":"medium","status":"scored","weekDelta":3,"history":[{"date":"2026-11-06","total":78},{"date":"2026-11-05","total":77},{"date":"2026-11-04","total":77},{"date":"2026-11-03","total":76},{"date":"2026-11-02","total":76},{"date":"2026-11-01","total":76},{"date":"2026-10-31","total":75},{"date":"2026-10-30","total":75},{"date":"2026-10-29","total":65}]},"categories":[{"name":"Endpoint Security","score":80,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":78,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 4972 tokens (~310/item across 16 items; 13 tools + 3 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"310","items":"16","tools":"13","tokens":"4972","resources":"3"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":27,"verdict":"partial","reasons":["Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"8"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"13"}},{"code":"toolsafety.manipulation_clean","args":{"units":"14","judged":"14"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"mcp","type":"remote","identifier":"https://mcp.bormeapi.com/mcp","withdrawn":false,"score":78,"current":true,"url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp","markdownUrl":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp.md"},{"slug":"mcp-oauth","type":"remote","identifier":"https://mcp.bormeapi.com/mcp/oauth","withdrawn":false,"score":38,"current":false,"url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp-oauth","markdownUrl":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp-oauth.md"}],"facts":[{"label":"Endpoint","value":"https://mcp.bormeapi.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"2.1.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"search_events","title":"Search registry events","description":"Search BORME registry events (since 2009) across companies by publication\ndate, province, act type and company name, newest first.\n\nUse it for questions about many companies (\"insolvency notices in Valencia\nin September\"). For one known company use company_history; to find a\ncompany use search_companies; for one day's totals use daily_digest.\n\nReturns JSON {count, events: [{event_id, date, borme_id, province,\ncompany_name, company_slug, acts: [{act_type, act_type_raw, roles,\npayload}], registral}]}, plus company_name_match, plan_window and\nhidden_by_plan when they apply. No next page: when count equals limit,\nnarrow the filters.\n\nRead-only; one request per call against your daily quota. Without an API key\n(X-API-Key header, https://bormeapi.com/account) only the last 7 days\nare searched (plan_window). For an empty page with hidden_by_plan or\ncompany_name_match (matched_companies or suggested_companies), relay its\nnote. Invalid dates, provinces or act types are refused with a reason.","inputs":[{"name":"act_types","type":"array","required":false,"description":"Optional list of act type enums; an event matches if it has any of them, e.g. [\"INCORPORATION\"] or [\"INSOLVENCY_DECLARATION\", \"INSOLVENCY_STATUS\"]. Full list: list_act_types. Barcelona prints some ac…"},{"name":"company_name_contains","type":"string","required":false,"description":"Optional part of the company name, case- and accent-insensitive, e.g. \"mercadona\"; use at least 3 letters or digits for a selective search. % and _ match literally. It filters events; to look a compa…"},{"name":"date_from","type":"string","required":false,"description":"Earliest publication date, inclusive, YYYY-MM-DD, e.g. 2026-09-01. Optional; data starts on 2009-01-02. Without a key it is moved up to 7 days ago (plan_window says so)."},{"name":"date_to","type":"string","required":false,"description":"Latest publication date, inclusive, YYYY-MM-DD, e.g. 2026-09-30. Optional; defaults to the latest day held."},{"name":"limit","type":"integer","required":false,"description":"Maximum events returned, integer 1-200, e.g. 20 (default 50)."},{"name":"provinces","type":"array","required":false,"description":"Optional list of BORME province names, accent- and case-insensitive, e.g. [\"MADRID\", \"CADIZ\", \"VIZCAYA\"]. An autonomous community stands for all of its provinces, e.g. [\"Basque Country\"] or [\"Cataluñ…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":661},{"name":"company_history","title":"Company registry timeline","description":"Get one company's BORME timeline: its published registry events within your\nplan's window.\n\nUse it once the company is known (a slug from search_companies or\ncompany_by_nif); across many companies use search_events. A name is\nsearched too: several matches return {ambiguous: true, candidates}, none\nreturns {error, suggested_companies}.\n\nReturns JSON {company_slug, total_events, first_seen, last_seen, truncated,\nnext_offset, count, events} (as in search_events), with former_slugs for\na merged company (an old slug returns the merged timeline) and\nplan_window on a limited plan. total_events, first_seen and last_seen\ncover the whole timeline in your window, not this page. To page,\nkeep limit and order and pass next_offset as offset (at most 10000)\nuntil it is null.\n\nRead-only; one request per call. Without an API key (X-API-Key header) only\nthe last 7 days; basic covers 365 days, pro and risk the full history\nback to 2009. If all its events are outside your window, the refusal\ncounts them.","inputs":[{"name":"company","type":"string","required":true,"description":"Company slug, e.g. vaz-metales-sl (from search_companies), or a name of at least 3 letters or digits, e.g. \"Mercadona\", searched case-insensitively."},{"name":"limit","type":"integer","required":false,"description":"Events per page, integer 1-200, e.g. 20 (default 100)."},{"name":"offset","type":"integer","required":false,"description":"Events to skip, integer 0-10000 (default 0); pass the previous page's next_offset, e.g. 100."},{"name":"order","type":"string","required":false,"description":"\"desc\" (default, newest first) or \"asc\" (oldest first), e.g. \"asc\" to start from the earliest event in your plan's window."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":399},{"name":"company_snapshot","title":"Company registry card","description":"Get one company's current registry card: the same answer as the REST API's\nGET /v1/companies/{slug}.\n\nUse it for \"who runs it, who owns it, what capital\": officers (the current\nroles derived from the published acts), sole_shareholder as printed,\ncapital_eur, address, status, NIF with its source, public_contracts and\na size_hint estimate. For the dated acts use company_history. A name is\nsearched as in company_history: several matches return {ambiguous: true,\ncandidates, candidate_names with name, province and status}, none returns\n{error, suggested_companies}.\n\nReturns JSON with company_slug, company_name, current_name, status,\nofficers, sole_shareholder, capital_eur, nif, nif_caveat, sources and the\nother snapshot fields, plus former_slugs for a merged company. BORME\npublishes no minority shareholdings, employees or revenue.\n\nRead-only; one request per call. Needs the basic plan or higher: send your\nAPI key in the X-API-Key header (https://bormeapi.com/account).","inputs":[{"name":"company","type":"string","required":true,"description":"Company slug, e.g. vaz-metales-sl (from search_companies), or a name of at least 3 letters or digits, e.g. \"Mercadona\", searched case-insensitively as in company_history."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":294},{"name":"company_signals","title":"A company's signals","description":"Get one company's derived signals within your plan's window, newest first:\nthe REST API's GET /v1/companies/{slug}/signals.\n\nUse it for one company's ownership changes, mass exits, insolvency\ndeclarations and the like; across all companies use recent_signals. A name\nis searched as in\ncompany_history: several matches return {ambiguous: true, candidates},\nnone returns {error, suggested_companies}.\n\nReturns JSON {company_slug, total, count, next_offset, signals:\n[{event_id, signal_type, date, company_slug, company_name, province,\ndetails}]}, with former_slugs for a merged company (every slug is read),\nand plan_window or hidden_by_plan when your plan's window applied: relay\ntheir notes. AEAT_DEBTOR: say the company was on the list published on\nthat date, never that the debt is outstanding. count 0 is not proof of\ngood health.\n\nRead-only; one request per call. Needs the pro plan or higher; key in the X-API-Key header\n(https://bormeapi.com/account).","inputs":[{"name":"company","type":"string","required":true,"description":"Company slug, e.g. vaz-metales-sl (from search_companies), or a name of at least 3 letters or digits, e.g. \"Mercadona\", searched case-insensitively as in company_history."},{"name":"date_from","type":"string","required":false,"description":"Earliest signal date, inclusive, YYYY-MM-DD, e.g. 2024-11-01. Optional; moved up to the start of your plan's window when earlier (plan_window says so)."},{"name":"date_to","type":"string","required":false,"description":"Latest signal date, inclusive, YYYY-MM-DD, e.g. 2026-10-31. Optional."},{"name":"limit","type":"integer","required":false,"description":"Signals per page, integer 1-200, e.g. 20 (default 50)."},{"name":"offset","type":"integer","required":false,"description":"Signals to skip, integer 0-10000 (default 0); pass the previous page's next_offset, e.g. 50."},{"name":"signal_types","type":"array","required":false,"description":"Optional list; each one of INSOLVENCY_FILED, ACCORDION, MASS_EXIT, OWNERSHIP_CHANGE, DISTRESS_COMBO, PHOENIX, ADDRESS_CLUSTER, AEAT_DEBTOR, PUBLIC_CONTRACT_AWARD, e.g. [\"OWNERSHIP_CHANGE\", \"MASS_EXIT…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":507},{"name":"company_by_nif","title":"Find a company by NIF","description":"Look up a Spanish company by its NIF/CIF tax ID. Use it when the user gives\na tax ID (with a name use search_companies); on a hit, call\ncompany_history with company_slug.\n\nReturns JSON {found, company_slug, current_name, status, nif_source,\nnif_caveat, ...}; use current_name. BORME has no dedicated tax-ID field: more\nthan 580,000 NIF mappings from public sources and the text of BORME notices\ncover a minority of companies, so a miss (reason nif_unmapped) means\n\"not matched yet\", not \"does not exist\". reason nif_revoked: AEAT records a\nrevocation; relay tell_the_user. On a company match, relay nif_status.note if\npresent. invalid_input true: not a NIF/CIF.\nreason nif_check_character_failed: relay tell_the_user and did_you_mean.\nreason not_registry_entity: explain entity_type. ambiguous\ntrue: ask which candidate. nif_caveat present: say the link is not settled.\n\nRead-only. Needs the basic plan or higher: send your\nAPI key in the X-API-Key header (https://bormeapi.com/account).","inputs":[{"name":"nif","type":"string","required":true,"description":"Spanish NIF/CIF, normally 9 characters, e.g. B12345674. Spaces, hyphens, dots and the ES VAT prefix (ESB12345674) are accepted; other country prefixes are not."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":314},{"name":"brand_owner","title":"Find a brand's company","description":"Find the Spanish company a trademark or trading name is linked to, in the\nSpanish patent office's (OEPM) trademark and commercial-name records we\nhold (the archive starts in 1987).\n\nUse it when the user names a brand; for a company's own name use\nsearch_companies, for a known company's brands use company_brands.\n\nReturns JSON {found, brand, matches: [{brand, kind, company_slug,\ncompany_name, company_status, file}], truncated, source, note}. kind\ncommercial_name identifies a business; trademark distinguishes goods or\nservices (NESCAFÉ is not another name for Nestlé): say which kind a hit\nis. Links come from holder-name matching (the office publishes no tax\nIDs); ambiguous holders stay unlinked: present a hit as a name match,\nnot confirmed ownership. found false is not proof the brand is unused.\nOn a hit, use company_history with the slug.\n\nRead-only; one request per call. Needs the basic plan or higher: send your\nAPI key in the X-API-Key header (https://bormeapi.com/account).","inputs":[{"name":"brand","type":"string","required":true,"description":"Brand or trading name, or part of it, at least 3 letters or digits after punctuation is removed, case-insensitive, e.g. \"ZARA\"."},{"name":"limit","type":"integer","required":false,"description":"Maximum matches, integer 1-200, e.g. 10 (default 20)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":298},{"name":"company_brands","title":"A company's brands","description":"List the trademarks and trading names that the Spanish patent office (OEPM)\nrecords under a holder with this company's name.\n\nUse it for a known company (a slug from search_companies or\ncompany_history); to go from a brand to its company use brand_owner.\n\nReturns JSON {company_slug, commercial_names, trademarks (each {name, file,\nstatus, since}), counts, truncated, limit_per_kind, source, note}. The\noffice publishes no tax IDs, so every link is a name match, not\nconfirmed ownership. An empty result means none is linked in our data,\nnot that the company holds none; {error, suggested_companies} means no\ncompany was found with that slug, so nothing was looked up. limit applies to each kind separately,\nnewest first; counts is what this answer lists, not the company's total,\nand truncated true for a kind means more are linked: raise limit.\n\nRead-only; one request per call. Needs the basic plan or higher: send your\nAPI key in the X-API-Key header (https://bormeapi.com/account).","inputs":[{"name":"company","type":"string","required":true,"description":"Company slug, as returned by search_companies or company_history, e.g. vaz-metales-sl."},{"name":"limit","type":"integer","required":false,"description":"Maximum results per kind (trademarks, trading names), integer 1-200, e.g. 10 (default 50)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":292},{"name":"recent_signals","title":"Recent risk signals","description":"Get a sample of the latest risk signals derived from BORME and public\nsources: at most 10 rows dated within the last 7 days.\n\nUse it for \"what risk signals appeared this week\"; not a per-company check\n(use company_history) and not the full feed (the hosted API's\n/v1/signals).\n\nReturns JSON {count, window, sample_cap, signals: [{signal_type, date,\ncompany_slug, company_name, province, details}], full_feed}. AEAT_DEBTOR\ncomes from the AEAT's yearly debtors list (art. 95 bis LGT): details\ncarry listed_on, list_year, is_current_list (true for 12 months from\nlisted_on) and debt_eur, the published total at 31 December of the prior\nyear. Say the company was on the list published on that date; never say\nthe debt is still outstanding. count 0 means none in the window, not\nthat a company is risk-free; an unknown signal_type is refused with the\nvalid list.\n\nRead-only; one request per call. Needs the risk plan: send your API key in\nthe X-API-Key header (https://bormeapi.com/account).","inputs":[{"name":"signal_type","type":"string","required":false,"description":"Optional, one of INSOLVENCY_FILED, ACCORDION, MASS_EXIT, OWNERSHIP_CHANGE, DISTRESS_COMBO, PHOENIX, ADDRESS_CLUSTER, AEAT_DEBTOR, PUBLIC_CONTRACT_AWARD, e.g. MASS_EXIT; omit for all types."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":325},{"name":"daily_digest","title":"Daily BORME digest","description":"Summarise one BORME publication day: total events, counts by act type, the\ntop 10 provinces and the day's insolvency-proceedings notices.\n\nUse it for \"what was published today\" or a day's figures; to read the\nnotices use search_events with date_from = date_to = that day.\n\nReturns JSON {date, total_events, by_type, top_provinces, insolvencies:\n[{company, province}]}. insolvencies lists the events with\nINSOLVENCY_DECLARATION or INSOLVENCY_STATUS (not SUSPENSION_OF_PAYMENTS,\nBANKRUPTCY_LEGACY or PROVISIONAL_SHEET_CLOSURE_INSOLVENCY). An\nINSOLVENCY_STATUS notice can record any stage, from a request for a\ndeclaration to the conclusion: before saying a company was declared\ninsolvent, read the act's payload with search_events. A day without a\ngazette (weekends, holidays) returns total_events 0.\n\nRead-only; one request per call. Without an API key only days within the\nlast 7 days; send your key in the X-API-Key header\n(https://bormeapi.com/account) for your plan's window.","inputs":[{"name":"date","type":"string","required":false,"description":"Publication day, YYYY-MM-DD, e.g. 2026-10-27; omit for the latest day in the database."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":296},{"name":"act_stats","title":"Act counts by type, period and province","description":"Count BORME acts by act type, period (month, quarter or year) and\nprovince: how many companies and entries had mergers, spin-offs, capital\nincreases or any other act type, newest period first.\n\nUse it for trends (\"mergers per quarter in Spain since 2020\"). To read\nthe acts themselves use search_events.\n\nReturns JSON {grain, count, truncated, rows: [{period, act_type, province,\ncompanies, events}], data_through, built_from, built_to, note,\nplan_window}, plus hidden_by_plan when the plan left buckets out, and\nnot_built (no rows, never zeros) when the range reaches years outside\nbuilt_from..built_to. period is the bucket's first day by BORME\npublication date. companies counts distinct companies in that bucket:\nnever add rows up. Province \"*\" is all of Spain; a community gives one row\nper province, not a total.\n\nRead-only; one request per call. Needs the pro plan or higher: send your\nkey in the X-API-Key header (https://bormeapi.com/account).","inputs":[{"name":"act_types","type":"array","required":false,"description":"Optional list of act type enums to count, e.g. [\"MERGER_BY_ABSORPTION\", \"TOTAL_SPIN_OFF\"]; omit for every act type. Full list: list_act_types."},{"name":"by_province","type":"boolean","required":false,"description":"Without provinces: true gives one row per province instead of the all-provinces rows, e.g. true (default false)."},{"name":"date_from","type":"string","required":false,"description":"Optional YYYY-MM-DD, e.g. 2024-01-01; the period holding this day is the first one. Data starts on 2009-01-02."},{"name":"date_to","type":"string","required":false,"description":"Optional YYYY-MM-DD, e.g. 2025-12-31; periods starting on or before this day."},{"name":"grain","type":"string","required":false,"description":"The length of each period, one of \"month\" (default), \"quarter\", \"year\", e.g. \"quarter\"."},{"name":"limit","type":"integer","required":false,"description":"Maximum rows, integer 1-5000, e.g. 200 (default 1000); truncated is true when more matched."},{"name":"provinces","type":"array","required":false,"description":"Optional list of BORME province names, accent- and case-insensitive, e.g. [\"MADRID\", \"BARCELONA\"]; an autonomous community gives one row per province, e.g. [\"Cataluña\"]. Omit for the all-provinces ro…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":522},{"name":"search_companies","title":"Search companies by name","description":"Find Spanish companies by name and return ranked company cards. Use it first\nwhen the user gives a company name, then company_history with its\ncompany_slug; with a tax ID use company_by_nif, with a brand use\nbrand_owner.\n\nMatches current names, former names and variants, ignoring accents, case,\npunctuation and the legal form. Returns JSON {query, count, total,\ntotal_is_at_least, truncated, limit, offset, companies: [{company_slug,\nname, legal_form, province, municipality, status, in_insolvency,\nlast_act_date, match, matched_on}]}. match is exact, prefix, contains or\nfuzzy (a lead, not an identification; say so). Ranked by match, then\nactive companies, then newest act.\n\nRead-only; one request per call; not limited by the free plan's 7 days of\nhistory. The free plan shows at most the first 5 ranked cards;\nhidden_by_plan counts the rest: relay its note. The NIF is on the card\nfrom the basic plan up (X-API-Key header). An empty answer is not proof\nthat a business does not exist.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Cards per page, integer 1-50, e.g. 5 (default 10)."},{"name":"name","type":"string","required":true,"description":"The bare company name or part of it, at least 3 letters or digits and at most 200 characters, e.g. \"inditex\" or \"Talleres Jarama\": no city, parentheses or notes. Matching allows for case, accents and…"},{"name":"offset","type":"integer","required":false,"description":"Cards to skip, integer 0-200 (default 0), e.g. 10. At most 200 cards are ranked; truncated true means a candidate cap was reached or a search step ran out of time, so add another word from the name."},{"name":"province","type":"string","required":false,"description":"Optional province, accent-insensitive, e.g. MADRID or VIZCAYA, or an autonomous community for all of its provinces, e.g. Catalonia; several values separated by commas, e.g. BIZKAIA,GIPUZKOA. Applied…"},{"name":"status","type":"string","required":false,"description":"Optional, one of active, dissolved, extinct, sheet_closed, e.g. active; applied like province."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":544},{"name":"list_act_types","title":"List act types","description":"List every normalized BORME act type: the enum used by the act_types filter\nof search_events (act_type), its Spanish label (spanish) and its English\nlabel (english).\n\nUse it to choose act_types values or to translate act types in an answer; it\nreads no registry data. Returns a JSON array of {act_type, spanish,\nenglish}, sorted by act_type. Read-only, open to everyone, no key needed\nand not counted against a quota. The same list is the resource\nborme://act-types.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":121},{"name":"registry_stats","title":"Data coverage and freshness","description":"Report the coverage and freshness of the BORME data behind this server.\n\nUse it to answer \"how much data is there?\", \"how fresh is it?\" and \"can I\ntrust date filters for period X?\" before running searches; it says\nnothing about any one company.\n\nReturns JSON {events_approx, companies_approx, coverage: {from, to},\nparse_completeness_last_30d, source}: exact event and company counts\nfrom the latest hourly snapshot (planner estimates if no snapshot\nexists), the first and latest publication day held (YYYY-MM-DD), and the event-weighted parse\ncompleteness over the 30 days up to the latest run (e.g. 0.9987). Takes\nno arguments. Read-only, open to everyone, no key needed and not counted\nagainst a quota. The same report is the resource borme://coverage.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":190}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-06T08:30:35.000Z","track":"remote","endpoint":"https://mcp.bormeapi.com/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=bormeapi.com","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-11-01T20:36:19Z","notAfter":"2027-01-30T21:36:16Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"mcp.bormeapi.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"bormeapi.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":308},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-29","recent":[{"id":"chg_01a1affb-2ba2-7048-9e1d-6a6829432302","kind":"score.rubric_changed","summary":"We updated how we score, so this day's move reflects our rubric, not a change to the server","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-06","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a1affb-2ba2-7048-9e1d-6a6829432302"},{"id":"chg_01a1aad8-409d-7661-bcc9-fdb43ab919cc","kind":"tool.added","summary":"New tool “company_signals”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a1aad8-409d-7661-bcc9-fdb43ab919cc"},{"id":"chg_01a1aad8-409e-743a-99b2-3f5cb6b8814f","kind":"tool.added","summary":"New tool “company_snapshot”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a1aad8-409e-743a-99b2-3f5cb6b8814f"},{"id":"chg_01a1aad8-409e-7ba6-9488-80df8d0254e5","kind":"prompt.added","summary":"New prompt “visit_briefing”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a1aad8-409e-7ba6-9488-80df8d0254e5"},{"id":"chg_01a1aad8-409b-7c96-af9b-340e2d6e1530","kind":"check.measure","summary":"Schema quality (280 → 310)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a1aad8-409b-7c96-af9b-340e2d6e1530"},{"id":"chg_01a1aad8-409c-7d63-b93a-3901e1225e26","kind":"tool.added","summary":"New tool “act_stats”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a1aad8-409c-7d63-b93a-3901e1225e26"},{"id":"chg_01a1a5ad-e34d-762c-9039-8fb490d44a42","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a1a5ad-e34d-762c-9039-8fb490d44a42"},{"id":"chg_01a19b60-6884-7039-a953-66f104cd9fa6","kind":"param.description_changed","summary":"“search_events” reworded the description of “act_types”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a19b60-6884-7039-a953-66f104cd9fa6"},{"id":"chg_01a19b60-6883-795a-adea-f2a09db59d5b","kind":"tool.description_changed","summary":"Tool “company_by_nif” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a19b60-6883-795a-adea-f2a09db59d5b"},{"id":"chg_01a19b60-6882-7976-8b62-935836de941c","kind":"tool.description_changed","summary":"Tool “company_brands” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a19b60-6882-7976-8b62-935836de941c"},{"id":"chg_01a1963c-7e75-7bea-9578-b4ca8f3fdf30","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a1963c-7e75-7bea-9578-b4ca8f3fdf30"},{"id":"chg_01a19113-7996-7283-bbd8-6a859b7b19c8","kind":"tool.description_changed","summary":"Tool “registry_stats” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a19113-7996-7283-bbd8-6a859b7b19c8"},{"id":"chg_01a19113-7997-70b6-9cd6-6268f0f6126d","kind":"tool.description_changed","summary":"Tool “search_events” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a19113-7997-70b6-9cd6-6268f0f6126d"},{"id":"chg_01a19113-7995-71b5-9463-db836dcc1f37","kind":"tool.description_changed","summary":"Tool “company_history” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a19113-7995-71b5-9463-db836dcc1f37"},{"id":"chg_01a18b0d-00fb-7f38-8584-d11d415fd548","kind":"tool.title_changed","summary":"Tool “company_by_nif” changed its title (Find a company by NIF)","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a18b0d-00fb-7f38-8584-d11d415fd548"},{"id":"chg_01a18b0d-00fc-773b-b5d3-ee3ca9129162","kind":"param.description_changed","summary":"“company_by_nif” reworded the description of “nif”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a18b0d-00fc-773b-b5d3-ee3ca9129162"},{"id":"chg_01a18b0d-00fd-706c-ab74-f192fbd50cdc","kind":"tool.description_changed","summary":"Tool “company_history” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a18b0d-00fd-706c-ab74-f192fbd50cdc"},{"id":"chg_01a18b0d-00fd-76ef-94df-884e5bcf9563","kind":"tool.title_changed","summary":"Tool “company_history” changed its title (Company registry timeline)","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a18b0d-00fd-76ef-94df-884e5bcf9563"},{"id":"chg_01a18b0d-00fd-7cfd-8cdb-5f1dffa49596","kind":"param.description_changed","summary":"“company_history” reworded the description of “company”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a18b0d-00fd-7cfd-8cdb-5f1dffa49596"},{"id":"chg_01a18b0d-00fe-75e0-a2e3-ba4e56994b6f","kind":"param.description_changed","summary":"“company_history” reworded the description of “limit”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp#chg-chg_01a18b0d-00fe-75e0-a2e3-ba4e56994b6f"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp","markdown":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp.md","changelogJson":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/com-bormeapi-borme-mcp/mcp.xml","external":[{"label":"Remote endpoint","href":"https://mcp.bormeapi.com/mcp"},{"label":"Repository","href":"https://github.com/bormeapi/borme-mcp"},{"label":"Website","href":"https://bormeapi.com/mcp"}]}}