
complydir
io.github.CloudCorpRecords/complydir
Search a curated directory of ISO 27001, SOC 2 and compliance services, with listing checks.
Documentation
complydir
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.
Tools
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, andlimit(1–25, default 10). Tag matches are case-insensitive and exact, and aservice_typeof "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 requiredcompany_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 requiredservice_name(for example "Compleye").list_categories— the distinct values in one dimension of the catalog, with counts.dimensionis one offrameworks,regions,industries,service_typesorproblems; 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) andbrief_summary(10–300 characters). Optional:description,linkedin,service_type,region_coveredandcompliance_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.
How it works
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.
CLI
Each tool is a subcommand taking one JSON argument string:
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":"hello@acme.example","brief_summary":"ISO 27001 consulting for SaaS"}'
npx @reneturcios/complydir --version
Exit codes: 0 on success, 1 on a runtime error,
2 on a usage error.
MCP server
npx -y @reneturcios/complydir mcp
MCP client config:
{
"mcpServers": {
"complydir": {
"command": "npx",
"args": ["-y", "@reneturcios/complydir", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/complydir
docker run --rm ghcr.io/cloudcorprecords/complydir list_categories '{"dimension":"regions"}'
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
@reneturcios/complydirnpm install @reneturcios/complydirghcr.io/cloudcorprecords/complydir:0.1.0docker pull ghcr.io/cloudcorprecords/complydir:0.1.0:undefinedRelated Servers
io.github.CloudCorpRecords/abandoncheck
Judge whether a dependency is maintained, from factual signals: releases, commits, archival.
io.github.CloudCorpRecords/actionbridge
Zapier exposed actions as MCP tools via a generic action runner.
io.github.CloudCorpRecords/actionpin
GitHub Actions supply-chain hardener: audit workflows for unpinned actions and build a SHA pin plan.