search_services
Search the compliance services catalog with exact multi-filter matching; at least one parameter is required and multiple frameworks are ANDed.
limitqueryregionindustryframeworkframeworksservice_type
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026
Search a curated directory of ISO 27001, SOC 2 and compliance services, with listing checks.
Complydir's local MCP server; no sign-in required; STDIO; 5 tools.
No AI overview yet: these facts come from the registry entry and the server itself.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
A directory of compliance help, searchable from your agent. complydir wraps a curated catalog of services that work on ISO 27001, SOC 2, DORA and neighbouring frameworks — consultancies, auditors and software — published as a single catalog snapshot. There is no account and no API key: the tools fetch the snapshot, answer questions about it locally, and can queue a new free listing for review.
Because search happens over the snapshot rather than a remote search call, the filter rules are exact and predictable. Tag filters never do substring matching: asking for the region "Germany" returns services tagged Germany, and asking for two frameworks returns only services tagged with both.
search_services — multi-filter catalog search.
All parameters are optional, but at least one is
required: query (free text used to rank the
filtered set), framework (a single framework),
frameworks (several frameworks, ANDed together),
region, industry, service_type, and limit
(1–25, default 10). Tag matches are
case-insensitive and exact, and a service_type
of "Consulting" also matches services tagged
"Consultants". For example, frameworks
["ISO 27001", "DORA"] with region "Germany" and
service_type "Consulting" returns German services
covering both frameworks that consult.check_if_listed — whether a company is in the
catalog. Takes a required company_name (for
example "Scrut Automation") and answers with the
matched record when it is listed.get_service_details — the full catalog record
for one service, by its required service_name
(for example "Compleye").list_categories — the distinct values in one
dimension of the catalog, with counts. dimension
is one of frameworks, regions, industries,
service_types or problems; omit it to get
every dimension at once.submit_listing — queue a free listing (the one
write tool). Required: name, url (http or
https), email (a contact address, not shown
publicly) and brief_summary (10–300 characters).
Optional: description, linkedin,
service_type, region_covered and
compliance_framework_expertise. Confirm the
name, website, contact email and one-line summary
with the user before calling — a queued listing
goes into the same review queue as the free web
form and is not live instantly.The read tools fetch the public snapshot from
https://ismsdirectory.com/api/tools.json and run
over it in memory; submit_listing posts to
https://ismsdirectory.com/api/submit. Both go
through one injectable fetch function, which is how
the test suite exercises everything against a small
hand-built snapshot with no live calls.
Two shapes are labelled reconstructions, because the published material pins the fields rather than the record layout: the per-service record fields beyond a service's name and its framework, region, industry and service-type tags, and the tools' output objects. Outputs are built around the pinned fields — the service name, its tags and the filters that matched.
Failures read plainly: a non-2xx upstream reply is
complydir error: HTTP <status>, an unreachable
upstream is complydir unreachable, and a snapshot
that does not parse as a list of records is
complydir snapshot invalid.
Each tool is a subcommand taking one JSON argument string:
Exit codes: 0 on success, 1 on a runtime error,
2 on a usage error.
MCP client config:
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit 6d97c89
Search the compliance services catalog with exact multi-filter matching; at least one parameter is required and multiple frameworks are ANDed.
limitqueryregionindustryframeworkframeworksservice_typeCheck whether a company is listed in the catalog, by name.
company_namerequiredShow the catalog record for one service, by name.
service_namerequiredList the distinct values in a catalog dimension, with counts; with no dimension, list every dimension.
dimensionQueue a free-tier catalog listing for review; the listing is not live instantly. Confirm name, website, contact email and summary before calling.
urlrequirednamerequiredemailrequiredlinkedindescriptionservice_typebrief_summaryrequiredregion_coveredcompliance_framework_expertise90% 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.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
npx @reneturcios/complydir search_services '{"frameworks":["ISO 27001","DORA"],"region":"Germany","service_type":"Consulting"}'npx @reneturcios/complydir check_if_listed '{"company_name":"Scrut Automation"}'npx @reneturcios/complydir get_service_details '{"service_name":"Compleye"}'npx @reneturcios/complydir list_categories '{"dimension":"frameworks"}'npx @reneturcios/complydir submit_listing '{"name":"Acme Compliance","url":"https://acme.example","email":"[email protected]","brief_summary":"ISO 27001 consulting for SaaS"}'npx @reneturcios/complydir --versionnpx -y @reneturcios/complydir mcp{ "mcpServers": { "complydir": { "command": "npx", "args": ["-y", "@reneturcios/complydir", "mcp"] } }}docker run -i ghcr.io/cloudcorprecords/complydirdocker run --rm ghcr.io/cloudcorprecords/complydir list_categories '{"dimension":"regions"}'npm installnpm run build # tsc -> dist/npm test # tsx --test test/*.test.ts (fake fetch only, no network)npm run dev # run the CLI from source