check_async_status
Show the last status of an async request Args: request_id: required, returned by an async downgraded request to the mcp server
request_idrequired
io.github.openapiPublished by GitHub account openapiv0.3.1Updated Oct 30, 2026
Official Openapi® MCP server: Italian company data, PEC, SMS, vehicles, geocoding and more APIs.
Official Openapi MCP server for Italian and international company data, PEC, SMS, vehicle, geocoding, email and IP checks, and document services.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.openapi%2Fmcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"openapi": {
"type": "http",
"url": "https://mcp.openapi.com/",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}[OpenAPI Pulse — this week in the OpenAPI community]
[build]
[PyPI]
[Python]
[License]
[MCP]
[Linux Foundation Member]
Welcome to openapi-mcp-sdk, this is the official openapi.com MCP SDK.
It ships as a Python package on PyPI and
can be used in two ways:
openapi_mcp_sdk in your own project to build a
custom MCP server that wraps openapi.com APIs with your own logic, tools, or auth
layer on top.All configuration is done through environment variables. None are required to start the server — defaults are suitable for local use.
The server needs to store files for APIs that return binary documents (e.g. company official documents). The storage backend is configurable:
Used to share async callback results across multiple server instances.
See docs/env/ for per-environment configuration guides (local,
Docker, AWS, GCP, Kubernetes).
/apis/.mcp_core.py.No cloning, no virtual environment. Start the server in one command:
The server starts immediately at http://localhost:8080.
The project ships a single compose.yml with the mcp service.
The server will be accessible at http://localhost:8080.
The fastest iteration loop runs the server directly with uvicorn:
This sets PYTHONPATH=src and starts uvicorn with auto-reload disabled. The
server listens on http://0.0.0.0:8080.
To test endpoints manually:
The server prints request headers and parameters to stdout — no extra configuration needed.
The repository is pre-configured for a single-click debug experience. No manual steps, no editing compose files, no terminal commands.
src/.Ctrl+Shift+D / ⌘+Shift+D).MCP: Debug (Docker) from the dropdown.VS Code will:
docker/dev/Dockerfile) if needed.compose.yml (debug image + bind mount).debugpy is accepting connections on port 5678.debugpy — your breakpoints are now live.When you press ⇧F5 (Stop), VS Code detaches and tears down the container.
Keep the container alive after detaching? Remove the
"postDebugTask"line from.vscode/launch.json. You can then re-attach at any time by pressing F5 again without rebuilding.
compose.yml bind-mounts ./src into /app/src inside the container.
Edits to files under src/ are reflected immediately — no image rebuild
required. Just send a new request and the updated code runs.
The server accepts the Bearer token in two ways:
Pass the token as a standard HTTP header:
?token= query parameterSome MCP clients or environments do not support custom HTTP headers. In that case the token can be embedded directly in the server URL as a query parameter:
The server automatically promotes it to an Authorization: Bearer header
before the request reaches the MCP layer, so the behaviour is identical.
When to use
?token=: Claude Desktop (as of mid-2025), some browser-based MCP playgrounds, and any client whose configuration only accepts a plain URL without a headers field.
Generate a Bearer Token From the portal https://console.openapi.com/oauth, create a token with the required scopes.
Create the .vscode/mcp.json file
With header (recommended):
With ?token= query parameter (for clients that do not support custom headers):
Test the integration
@workspace.Some openapi.com APIs (e.g. visure camerali — Italian official company documents)
return large binary files (ZIP archives, PDFs) that cannot be embedded inline in the
MCP stream. The server downloads these files, stores them, and serves them via a
separate HTTP endpoint (GET /status/{id}/files/{filename}).
By default (MCP_STORAGE_BACKEND=local) files are written to ./openapi_storage
relative to the directory from which the server is started:
Override the path with the MCP_STORAGE_PATH environment variable:
The directory is created automatically on first use. For the download links to work correctly,
MCP_BASE_URLmust point to the public address of the server (default:http://localhost:8080).
See docs/env/ for full per-environment configuration guides.
src/openapi_mcp_sdk/main.py: FastAPI + MCP server entry point.src/openapi_mcp_sdk/mcp_core.py: MCP initialization, API call helpers, error handling.src/openapi_mcp_sdk/apis/: Python modules defining MCP tools (one per API/scope).requirements.txt: Python dependencies.compose.yml: Docker Compose (production image by default; see comments to switch to debug).docker/latest/Dockerfile: Production Docker image.docker/dev/Dockerfile: Development image with debugpy for VS Code remote debugging..vscode/launch.json: VS Code debug configuration (attach to debugpy).docs/: Documentation and example configurations./apis/, following this pattern:
Contributions are always welcome! Whether you want to report bugs, suggest new features, improve documentation, or contribute code, your help is appreciated.
See docs/contributing.md for detailed instructions on how to get started. Please make sure to follow this project's docs/code-of-conduct.md to help maintain a welcoming and collaborative environment.
Meet the project authors:
Meet our partners using Openapi or contributing to this SDK:
This project is licensed under the MIT License.
The MIT License is a permissive open-source license that allows you to freely use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, provided that the original copyright notice and this permission notice are included in all copies or substantial portions of the software.
In short, you are free to use this SDK in your personal, academic, or commercial projects, with minimal restrictions. The project is provided "as-is", without any warranty of any kind, either expressed or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement.
For more details, see the full license text at the MIT License page.
Source: README.md at commit 0fd4ca5
Show the last status of an async request Args: request_id: required, returned by an async downgraded request to the mcp server
request_idrequiredFull italian companies data from VAT
Returns the complete and detailed profile of an Italian company given a VAT number or Tax Code. - Company Data (Name, VAT Number, Tax Code, CCIAA, and REA) - Managers - Registered Office and other types of offices - Activity Classifications (New ATECO 2025, ATECO history since 2022, NACE, SIC, RAE, and SAE) - Corporate Affiliation - Exporter / Importer Status - Company Size - Company Contacts (Email, phone, fax, website, social media) - Shareholders and their ownership shares - Employees, number, trends, statistics on contract duration and types - Regarding shareholders, it is possible to access the list of the top 10 (based on ownership share size) and view their respective ownership shares. - Liquidity and profitability - Receivables and Payables - EBITDA and EBIT - Cashflow with a 2-year history - Financial fixed assets - Production value and costs - Financial revenues and expenses - Tangible, intangible, and financial assets - Net profit/loss Use get_company_IT_search to obtain VAT Args: vat_or_taxCode: VAT number or Tax Code of an Italian company
vat_or_taxCoderequiredAdvanced italian companies data from VAT
Returns taxCode, companyName, vatCode,address,activityStatus,reaCode,cciaa,atecoClassification,detailedLegalForm,startDate,registrationDate,endDate,pec,taxCodeCeased,taxCodeCeasedTimestamp,vatGroup,sdiCode,sdiCodeTimestamp,balanceSheets (turnover,employee,networt,staffCost,totalAssets.avgGrossSalary of the last 10 years),shareHolders of an italian company from vatCode or taxCode. Args: vat_or_taxCode: vatCode or taxCode of an italian company
vat_or_taxCoderequiredStart italian companies data from VAT
Returns taxCode,companyName,vatCode,address,activityStatus,sdiCode,registrationDate of an italian company from vatCode or taxCode. Args: vat_or_taxCode: vatCode or taxCode of an italian company
vat_or_taxCoderequiredSearch italian companies by advanced search criteria
Returns a list of italian companies based on the search criteria. Use this tool if you don't know the VAT number of a company. Use this tool with dryRun=1 and no limit parameter to get the count of available results for the matching criterias Use this tool if you need to extract enriched data (max 1000 records paginable with the skip parameter) like name, address, pec, start (all the data in the get_company_IT_start tool) or advanced (all the data in the get_company_IT_advanced tool) based on matching criterias. Args: companyName: The name or part of it of an Italian company (optional). provinceCode: The 2 letters provinceCode where the company is located to restrict the results (optional). skip: The number of records to skip for pagination (optional). limit: The maximum number of results to return (optional, default is 10), if you want to have the total count of records with matching criterias skip this parameter and set dryRun to 1. dataEnrichment: Avoid further queries receiving Additional data enrichment options in the results (default is name), multiple values are forbidden, Available values : start, advanced, pec, address, shareholders, name legalFormCode: Filter by legalformcode of the company (optional). For Available values use get_company_IT_legal_forms_list tool, multiple values are forbidden, possible values: ["EI","EL","OO","OS","RC","ST","AF","AP","AS","CO","EE","FO","SL","SR","SZ","AL","AN","CC","CF","EC","ED","EN","OC","PA","SF","SO","AA","AC","AI","AM","AT","CR","ES","GE","IF","LL","RS","SI","AR","CS","SA","SC","SD","SG","AE","EP","PF","SN","SP","XX","AU","CE","CI","CL","CN","CZ","DI","RR","SE","SU","AZ","CM","EM","ER","FI","IC","ID","IR","MA","PC","PS","SM","SS","SV"] startDate: Filter by the start date of the company (optional). endDate: Filter by the end date of the company (optional). dryRun: Simulates a request by returning only the number of records "count" found and the price "cost" (optional)
latpeclongskipcciaalimitdryRunradiusendDatereaCodesdiCodetownCode+15 moreStart worldwide companies data from VAT or company number
Returns companyName,nativeCompanyName,companySize,address,gps,activityStatus,incorporationDate,contacts,nace,nationalClassification,balanceSheets data like employees,netWorth,operatingRevenue,equity,totalAssets . Args: vat_or_taxCode: vatCode or taxCode of a company country_code: country code of the company
country_coderequiredvat_or_taxCoderequiredObtain all the updated legalFormsCodes and descriptions available in italy. Usefull with get_company_IT_search. "EI"="ENTE IMPRESA","EL"="ENTE SOCIALE","OO"="COOPERATIVA SOCIALE","OS"="SOCIETA' CONSORTILE COOPERATIVA A RESPONSABILITA' LIMITATA","RC"="CONTRATTO DI RETE DOTATO DI SOGGETTIVITA' GIURIDICA","ST"="SOGGETTO ESTERO","AF"="ALTRE FORME","AP"="AZIENDA PROVINCIALE","AS"="SOCIETA' IN ACCOMANDITA SEMPLICE","CO"="CONSORZIO","EE"="ENTE ECCLESIASTICO","FO"="FONDAZIONE","SL"="SOCIETA' CONSORTILE A RESPONSABILITA' LIMITATA","SR"="SOCIETA' A RESPONSABILITA' LIMITATA","SZ"="SOCIETA' NON PREVISTA DALLA LEGISLAZIONE ITALIANA","AL"="AZIENDA SPECIALE","AN"="SOCIETA' CONSORTILE IN NOME COLLETTIVO","CC"="CONSORZIO CON ATTIVITA' ESTERNA","CF"="CONSORZIO FIDI","EC"="ENTE PUBBLICO COMMERCIALE","ED"="ENTE DIRITTO PUBBLICO","EN"="ENTE","OC"="SOCIETA' COOPERATIVA CONSORTILE","PA"="ASSOCIAZIONE IN PARTECIPAZIONE","SF"="SOCIETA' DI FATTO","SO"="SOCIETA' CONSORTILE PER AZIONI","AA"="SOCIETA' IN ACCOMANDITA PER AZIONI","AC"="ASSOCIAZIONE","AI"="ASSOCIAZIONE IMPRESA","AM"="AZIENDA MUNICIPALE","AT"="AZIENDA AUTONOMA STATALE","CR"="CONSORZIO INTERCOMUNALE","ES"="ENTE DI CUI ALLA L.R. 21-12-93 N88","GE"="GRUPPO EUROPEO DI INTERESSE ECONOMICO","IF"="IMPRESA FAMILIARE","LL"="AZIENDA SPECIALE DI CUI AL DLGS 267/2000","RS"="SOCIETA' A RESPONSABILITA' LIMITATA SEMPLIFICATA","SI"="SOCIETA' IRREGOLARE","AR"="AZIENDA REGIONALE","CS"="CONSORZIO SENZA ATTIVITA' ESTERNA","SA"="SOCIETA' ANONIMA","SC"="SOCIETA' COOPERATIVA","SD"="SOCIETA' EUROPEA","SG"="SOCIETA' COOPERATIVA EUROPEA","AE"="SOCIETA' CONSORTILE IN ACCOMANDITA SEMPLICE","EP"="ENTE PUBBLICO ECONOMICO","PF"="PERSONA FISICA","SN"="SOCIETA' IN NOME COLLETTIVO","SP"="SOCIETA' PER AZIONI","XX"="NON PRECISATA","AU"="SOCIETA' PER AZIONI CON SOCIO UNICO","CE"="COMUNIONE EREDITARIA","CI"="SOCIETA' COOPERATIVA A RESPONSABILITA ILLIMITATA","CL"="SOCIETA' COOPERATIVA A RESPONSABILITA LIMITATA","CN"="SOCIETA' CONSORTILE","CZ"="CONSORZIO DI CUI AL DLGS
Takes no parameters.
European/Worldwide basic company data
Returns basic company information for a company in the specified country. Returns: companyName, vatCode, address, activityStatus, and other basic details. Args: vatCode: VAT code or company registration number (e.g., DE123456789, FR12345678901234) country_code: Two-letter country code (e.g., DE, ES, PT, GB, BE, AT, CH, PL, FR)
vatCoderequiredcountry_coderequiredEuropean/Worldwide advanced company data
Returns advanced company information for a company in the specified country. Returns: Detailed company data including financial highlights or extended registry info where available. Args: vatCode: VAT code or company registration number country_code: Two-letter country code (e.g., FR, DE, ES, etc.)
vatCoderequiredcountry_coderequiredWorldwide basic company data
Returns basic company information for a company worldwide. Args: vatCode: VAT code or company registration number country_code: Two-letter country code of the country
vatCoderequiredcountry_coderequiredWorldwide advanced company data
Returns advanced company information for a company worldwide. Args: vatCode: VAT code or company registration number country_code: Two-letter country code of the country
vatCoderequiredcountry_coderequiredSearch French companies by advanced criteria
Returns a list of French companies based on the search criteria. Args: companyName: The name or part of it of a French company (optional). provinceCode: The department code or region to restrict search (optional). skip: The number of records to skip for pagination (optional). limit: The maximum number of results to return (optional, default 10). dataEnrichment: Enrichment options: start, advanced, name (default is name). dryRun: Set to 1 to only get count and cost (optional). nafCode: NAF Activity Code for the company (optional). activityStatus: Status of the company (optional).
skiplimitdryRunnafCodecompanyNameprovinceCodeactivityStatusdataEnrichmentReturns the list of Italian regions
Takes no parameters.
Returns the list of Italian provinces
Takes no parameters.
Returns the list of Italian metropolitan cities
Takes no parameters.
Returns the list of suppressed or merged Italian municipalities
Takes no parameters.
Searches for the ISTAT code associated with a given Italian municipality.
comunerequiredRetrieves detailed data about an Italian municipality using the ISTAT code: - istat:istatCode - comune:municipalityName - regione:regionName - provincia:provinceName - prefisso:telephoneLocalPrefix - cod_fisco:cadastralCodeor BelfioreCode of town, - superficie:surfaceArea - num_residenti:numberOfResidents - nome_abitanti:inhabitantsName - patrono.nomepatronSaintName, - patrono.datapatronSaintDate, - municipio:municipalityAddress - istat_old:oldIstatCode - sigla_provincia:provinceAbbreviation - email:emailAddress - pec:certifiedEmailAddress - tel:telephoneNumber - fax:faxNumber - frazioni:fractions - cap:postalCodes
istatCoderequiredRetrieves the list of Italian municipalities and their ISTAT code based on the ZIP code.
zip_coderequiredRetrieves detailed information about an email address (spf, dmark, disposability, frauds) Args: email: the email to check
emailrequiredRetrieves advanced information about an email address (spfDetails, dmarcDetails, createdAt, updatedAt, state, message, success, valid, disposable, smtpScore, overallScore, firstName, generic, common, dnsValid, honeypot, deliverability, frequentComplainer, spamTrapScore, catchAll, timedOut, suspect, recentAbuse, fraudScore, suggestedDomain, leaked, sanitizedEmail, identityData, domainAge, firstSeen, riskyTld, spfRecord, dmarcRecord, mxRecords, aRecords) Args: email: the email to check
emailrequiredRetrieves basic information about a mobile number (requestedNumber, formattedNumber, numberType, isPossible, isValid, regionCode, isValidNumberForRegion, network, originalNetwork, roaming, ported, country, countryPrefix, details) Args: mobile: with international prefix es +39
mobilerequiredRetrieves advanced information about a mobile number (requestedNumber, formattedNumber, createdAt, updatedAt, state, message, success, valid, active, localFormat, fraudScore, recentAbuse, voip, prepaid, risky, name, identityData, carrier, lineType, country, region, city, accurateCountryCode, zipCode, timezone, dialingCode, doNotCall, leaked, spammer, activeStatus, mcc, mnc, transactionDetails) Args: mobile: with international prefix es +39
mobilerequiredRetrieves advanced information about an ip address (ip, createdAt, updatedAt, state, requestedIp, message, success, proxy, host, isp, organization, asn, countryCode, city, region, timezone, latitude, longitude, zipCode, isCrawler, connectionType, recentAbuse, abuseVelocity, botStatus, frequentAbuser, highRiskAttacks, sharedConnection, dynamicConnection, securityScanner, trustedNetwork, operatingSystem, browser, deviceBrand, deviceModel, transactionDetails, errors, vpn, tor, activeVpn, activeTor, mobile, fraudScore) Args: ip: valid ip number
iprequiredRetrieves advanced information about an url address (url, createdAt, updatedAt, state, requestedUrl, message, success, unsafe, domain, ipAddress, countryCode, languageCode, server, contentType, statusCode, pageSize, domainRank, dnsValid, parking, pageTitle, shortLinkRedirect, hostedContent, riskyTld, spfRecord, dmarcRecord, mxRecords, nsRecords, aRecords, errors, riskScore, suspicious, phishing, malware, spamming, adult, category, technologies, domainAge, redirected, scannedUrl, finalUrl) Args: url: valid url address
urlrequiredRecupera un elenco di endpoint di visure camerali disponibili per una azienda da usare con il tool get_italian_company_official_document fornendo la sua Partita IVA o il suo Codice Fiscale. Args: vat_or_taxCode: vatCode or taxCode of an italian company
vat_or_tax_coderequiredRecupera una visura camerale di una azienda fornendo la sua Partita IVA o il suo Codice Fiscale. Args: document_url: url of the requested document vat_or_taxCode: vatCode or taxCode of an italian company
document_urlrequiredvat_or_tax_coderequiredDownload a document when the "stato_richiesta" of a get_italian_company_official_document call is "Dati disponibili" Response is a json containing one or more files with attributes: file_name, file_size, download_link, content, expire. Args: document_id: the value id in return of a previous request. document_url: the value id in return of a previous request.
document_idrequireddocument_urlrequiredSend an SMS to a mobile number using minus sign to separate international prefix from the number Args: sender: optional, can be a 11 char long string body: the body of the message string mobile: the recipient mobile number. Eg.:"+39-1234567890"
bodyrequiredmobilerequiredsenderrequiredFull Worldwide KYC FULL
This endpoint allows you to create a full kyc request on a subject (politically exposed person, adverse media, local politicians, legal enforcement, sanctions, whitelists) use name for entityType L,W,VE,AC,NA or firstName/lastName for entityType I Args: firstName: first name of the person lastName: lastName of the person entityType: can be I=Individual,L=Legal Entity,W=Website,VE=Vessel,AC=Aircraft,NA=Unknown name: the name of the entity if not Individual
namerequiredlastNamerequiredfirstNamerequiredentityTyperequiredProvides detailed credit score information for a specific organization using a tax code, VAT number
Returns Operational credit limits, Rating evaluations, Risk score history, Public ratings, Financial positions and profiles of an italian company from vatCode or taxCode. Args: vat_or_taxCode: vatCode or taxCode of an italian company
vat_or_taxCoderequiredCheck if Italian Fiscal Code is real and existent in the official database
Check if an Italian Fiscal Code is real and existent in the official database. Args: fiscalCode: fiscal code of an italian person
fiscalCoderequiredRetrieve informations about a place supplying address. To improve success of results, please specify an address conforming to the following format: [street], [city] [postal code] [country] Args: address: string
addressrequiredGet place information from ID or latitude/longitude: To obtain infos via ID make sure to pass the following format: {"type": "id", "id": "<id>"} To obtain infos via lat/long, make sure to provide the following format: {"type": "coordinates", "lat": "<lat>", "long": "<long>"} Args: type: required, can be "coordinates" or "id" id: string required only for type=id lat: the latitude number($float) example: 41.289294 long: the longitude number($float) example: 13.2349029
idrequiredlatrequiredlongrequiredtyperequiredRetrieve informations about type=car,bike,insurance,mot from a countryCode=IT,FR,UK,DE,PT,ES and a licensePlate. Available Combinations: IT-car, IT-bike, IT-insurance,FR-car,FR-bike,UK-car,UK-bike,UK-mot,PT-car,PT-insurance,ES-car,ES-bike Args: countryCode: required, 2 digit country code (IT|FR|UK|DE|PT|ES) type: required, type of information needed (car|bike|insurance|mot) licensePlate: required, the license plate to check
typerequiredcountryCoderequiredlicensePlaterequiredObtain daily world exchange rate based on USD value
Takes no parameters.
Certified email address availability check
Checks if a specific PEC (Certified Email) address is available for purchase Use this tool when the user asks if a PEC address is avaible Args: pec: the pec address to check
pecrequiredReturns the list of all available DocuEngine services with their required parameters.
Takes no parameters.
Returns the details and status of a specific DocuEngine request.
request_idrequiredReturns the download links for the documents produced by a request.
request_idrequiredDirect tool for DocuEngine service: Visura Camerale Ordinaria - Societa' Di Capitale (ID: 663df75d19a52195e23e315c). [Camerali] Visura Camerale Ordinaria - Societa' Di Capitale 💰 Price: €4.90 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Visura Camerale Ordinaria - Societa' Di Persone (ID: 6671a5549e6f0e447bc2659d). [Camerali] Visura Camerale Ordinaria - Societa' Di Persone 💰 Price: €3.40 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Visura Camerale Ordinaria - Impresa Individuale (ID: 6671a5719e6f0e447bc2659e). [Camerali] Visura Camerale Ordinaria - Impresa Individuale 💰 Price: €2.90 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Visura Camerale Storica - Societa' Di Capitale (ID: 6671a5a29e6f0e447bc2659f). [Camerali] Visura Camerale Storica - Societa' Di Capitale 💰 Price: €5.90 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Visura Camerale Storica - Societa' Di Persone (ID: 6671a5bf9e6f0e447bc265a0). [Camerali] Visura Camerale Storica - Societa' Di Persone 💰 Price: €4.40 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Visura Camerale Storica - Impresa Individuale (ID: 6671a5d69e6f0e447bc265a1). [Camerali] Visura Camerale Storica - Impresa Individuale 💰 Price: €3.90 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Bilancio Ottico (ID: 667443c29e6f0e447bc265aa). [Camerali] Bilancio Ottico 💰 Price: €4.50 (search: €0.10, document: €4.40) 📋 Required: taxCode 🔍 Two-step process: This returns search results. Use 'patch_docuengine_bilancio_ottico' to select and finalize.
taxCoderequiredFinalize selection for DocuEngine service: Bilancio Ottico. Use this AFTER calling 'docuengine_bilancio_ottico' when it returns a list of options. Provide the 'id' from your chosen option, and 'year' if applicable (e.g., for balance sheets). Example: If the search returned options with 'id' and 'year' fields, pass those values here.
idrequiredyearrequest_idrequiredDirect tool for DocuEngine service: Bilancio XBRL (ID: 667c131a9e6f0e447bc265c1). [Camerali] Bilancio XBRL 💰 Price: €4.50 (search: €0.10, document: €4.40) 📋 Required: taxCode 🔍 Two-step process: This returns search results. Use 'patch_docuengine_bilancio_xbrl' to select and finalize.
taxCoderequiredFinalize selection for DocuEngine service: Bilancio XBRL. Use this AFTER calling 'docuengine_bilancio_xbrl' when it returns a list of options. Provide the 'id' from your chosen option, and 'year' if applicable (e.g., for balance sheets). Example: If the search returned options with 'id' and 'year' fields, pass those values here.
idrequiredyearrequest_idrequiredDirect tool for DocuEngine service: Visura Camerale Inglese (ID: 66840ce41a241a5d1be0f9e5). [Camerali] Visura Camerale Inglese 💰 Price: €6.50 📋 Required: taxCode
taxCoderequiredDirect tool for DocuEngine service: Atto Ottico (ID: 6687eea71a241a5d1be0f9f9). [Camerali] Atto Ottico 💰 Price: €5.50 (search: €0.60, document: €4.90) 📋 Required: taxCode 🔍 Two-step process: This returns search results. Use 'patch_docuengine_atto_ottico' to select and finalize.
taxCoderequiredactGroupCoderequestDateTodocumentDateTorequestDateSincedocumentDateSinceFinalize selection for DocuEngine service: Atto Ottico. Use this AFTER calling 'docuengine_atto_ottico' when it returns a list of options. Provide the 'id' from your chosen option, and 'year' if applicable (e.g., for balance sheets). Example: If the search returned options with 'id' and 'year' fields, pass those values here.
idrequiredyearrequest_idrequiredDirect tool for DocuEngine service: Statuto (ID: 6687eed51a241a5d1be0f9fa). [Camerali] Statuto 💰 Price: €4.90 📋 Required: taxCode
taxCoderequiredDirect tool for DocuEngine service: Bilancio Riclassificato (ID: 669533fe6d4f51cbde8da353). [Camerali] Bilancio Riclassificato 💰 Price: €5.00 (search: €0.10, document: €4.90) 📋 Required: taxCode 🔍 Two-step process: This returns search results. Use 'patch_docuengine_bilancio_riclassificato' to select and finalize.
taxCoderequiredFinalize selection for DocuEngine service: Bilancio Riclassificato. Use this AFTER calling 'docuengine_bilancio_riclassificato' when it returns a list of options. Provide the 'id' from your chosen option, and 'year' if applicable (e.g., for balance sheets). Example: If the search returned options with 'id' and 'year' fields, pass those values here.
idrequiredyearrequest_idrequiredDirect tool for DocuEngine service: Certificato Di Iscrizione (ID: 689c99942d09c0a9bcb946e8). [Camerali] Certificato Di Iscrizione 💰 Price: €13.70 📋 Required: taxCode
phonetaxCoderequiredshippingAddressshipmentRecipientDirect tool for DocuEngine service: Certificato Artigiano (ID: 689cb8852d09c0a9bcb946f3). [Camerali] Certificato Artigiano 💰 Price: €13.70 📋 Required: taxCode
phonetaxCoderequiredshippingAddressshipmentRecipientDirect tool for DocuEngine service: Certificato Storico (ID: 689cb8972d09c0a9bcb946f5). [Camerali] Certificato Storico 💰 Price: €16.70 📋 Required: taxCode
phonetaxCoderequiredshippingAddressshipmentRecipientDirect tool for DocuEngine service: Soci Attivi Azienda (ID: 6932c9602a2ea4883e6ebba9). [Camerali] Soci Attivi Azienda 💰 Price: €2.30 📋 Required: taxCode
taxCoderequiredDirect tool for DocuEngine service: Eventi Negativi Persona (ID: 680a53e1cc53f5932b285b81). [Camerali] Eventi Negativi Persona 💰 Price: €3.90 📋 Required: name, surname, taxCode
namerequiredsurnamerequiredtaxCoderequiredDirect tool for DocuEngine service: Visura Protesti Persona Fisica (ID: 69b96b74327b41417c838fb0). [Camerali] Visura Protesti Persona Fisica 💰 Price: €0.90 📋 Required: name, surname, taxCode
namerequiredsurnamerequiredtaxCoderequiredDirect tool for DocuEngine service: Visura Protesti E Pregiudizievoli Persona Fisica (ID: 69b96bc0327b41417c838fb1). [Camerali] Visura Protesti E Pregiudizievoli Persona Fisica 💰 Price: €3.70 📋 Required: name, surname, taxCode
namerequiredsurnamerequiredtaxCoderequiredDirect tool for DocuEngine service: Eventi Negativi Azienda (ID: 69b96f47327b41417c838fb2). [Camerali] Eventi Negativi Azienda 💰 Price: €3.90 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Visura Protesti Azienda (ID: 69b97173327b41417c838fb3). [Camerali] Visura Protesti Azienda 💰 Price: €0.90 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Visura Protesti E Pregiudizievoli Azienda (ID: 69b97197327b41417c838fb4). [Camerali] Visura Protesti E Pregiudizievoli Azienda 💰 Price: €3.70 📋 Required: reaCode, cciaa
cciaarequiredreaCoderequiredDirect tool for DocuEngine service: Fascicolo Societa' Di Capitali (ID: 69c40e2f327b41417c839015). [Camerali] Fascicolo Societa' Di Capitali 💰 Price: €15.70 📋 Required: taxCode
taxCoderequiredprovincecompanyNameDirect tool for DocuEngine service: Fascicolo Storico Societa' Di Capitali (ID: 69c40e90327b41417c839018). [Camerali] Fascicolo Storico Societa' Di Capitali 💰 Price: €16.50 📋 Required: taxCode
taxCoderequiredprovincecompanyNameDirect tool for DocuEngine service: Fascicolo Societa' Di Persone (ID: 69c40ebb327b41417c83901a). [Camerali] Fascicolo Societa' Di Persone 💰 Price: €11.70 📋 Required: taxCode
taxCoderequiredprovincecompanyNameDirect tool for DocuEngine service: Fascicolo Storico Societa' Di Persone (ID: 69c40ee0327b41417c83901c). [Camerali] Fascicolo Storico Societa' Di Persone 💰 Price: €11.70 📋 Required: taxCode
taxCoderequiredprovincecompanyNameDirect tool for DocuEngine service: DURC Online (ID: 69c5456840be088d9c41df88). [Camerali] DURC Online 💰 Price: €17.30 📋 Required: companyName, taxCode, legalRepresentativeName, legalRepresentativeTaxCode, pec, phone, legalRepresentativeBirthCountry, document, delegationFile
pecrequiredphonerequiredtaxCoderequireddocumentrequiredcompanyNamerequireddelegationFilerequiredlegalRepresentativeNamerequiredlegalRepresentativeTaxCoderequiredlegalRepresentativeBirthCountryrequiredDirect tool for DocuEngine service: Esponenti Attivi Azienda (ID: 69cbcb52e9834541b0415e79). [Camerali] Esponenti Attivi Azienda 💰 Price: €2.30 📋 Required: taxCode
taxCoderequiredDirect tool for DocuEngine service: Cariche Attive Persona (ID: 69cbccffe9834541b0415e7a). [Camerali] Cariche Attive Persona 💰 Price: €2.10 📋 Required: taxCode
taxCoderequiredDirect tool for DocuEngine service: Quote Attive Persona (ID: 69cbcd37e9834541b0415e7b). [Camerali] Quote Attive Persona 💰 Price: €2.10 📋 Required: taxCode
taxCoderequired100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
uvx openapi-mcp-sdk server# pipx (ephemeral run, no install needed — similar to uvx)pipx run openapi-mcp-sdk server
# pip (installs the package, then run the command)pip install openapi-mcp-sdk && openapi-mcp-sdk server
# pip3 on systems where python3 is the defaultpip3 install openapi-mcp-sdk && openapi-mcp-sdk serveropenapi-mcp-sdk <command>
Commands: server Start the MCP server (HTTP/SSE, default port 8080) ping Ping the openapi.com APIs and report latency [coming soon] token Generate or inspect an openapi.com Bearer token [coming soon]# Build and start (production-like image)docker compose up --build
# Run in backgrounddocker compose up --build -d
# Follow logsdocker compose logs -f mcpmake startcurl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080Authorization: Bearer YOUR_TOKENhttp://YOUR_SERVER_IP:8080/?token=YOUR_TOKEN{ "servers": { "openapi.com": { "type": "http", "url": "http://YOUR_SERVER_IP:8080/", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } }}{ "servers": { "openapi.com": { "type": "http", "url": "http://YOUR_SERVER_IP:8080/?token=YOUR_TOKEN" } }}./openapi_storage/└── <request_id>/ ├── document.pdf └── attachments.zipexport MCP_STORAGE_PATH=/var/data/openapi_storageuvx openapi-mcp-sdk serverfrom fastmcp import Contextfrom typing import Anyfrom mcp_core import make_api_call, mcp
@mcp.toolasync def tool_name(parameters..., ctx: Context) -> Any: # ...logic... return make_api_call(ctx, "GET", url, params=params)