ism-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ISM_MCP_DB | No | Override the database location. Default ~/.local/share/ism-mcp/ism.db. | |
| ISM_MCP_EMBEDDER | No | Force a specific embedder at server start. Options: fastembed (default), hash (test-only), none (disables semantic retrieval). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ism_getA | Get the full record for one ISM control by identifier (e.g. Identifier input is tolerant: |
| ism_searchA | Full-text keyword search (FTS5 BM25) over ISM control text and topics. Best when you already know the terms, an exact phrase, or part of a control title.
To rank controls against a free-text description of work, use ism_applicable
instead. FTS operators in the query are neutralised, so input matches literally.
Returns |
| ism_list_by_classificationA | List controls that apply at a given classification level.
|
| ism_list_topicsA | List all distinct topic strings present in the ISM. The vocabulary for the |
| ism_list_by_topicA | List controls under a specific topic (exact match, use ism_list_topics to enumerate). Returns |
| ism_statsA | Report database state: active ISM version, version and control counts, db path. Takes no arguments. Useful as a first call to confirm data is ingested and see which ISM release the other tools will answer from. For the full version list use ism_versions. |
| ism_versionsA | List loaded ISM versions, newest first. The vocabulary for version/from/to arguments. Returns |
| ism_list_sectionsA | List the distinct ISM Section values, the vocabulary for the Returns |
| ism_list_classificationsA | Return the classification vocabulary as parallel lists.
|
| ism_list_maturitiesA | Return the Essential Eight maturity levels: ML1, ML2, ML3. The Essential Eight is the ASD's baseline set of mitigation strategies, and only
controls belonging to it carry a maturity rating. These levels are the vocabulary
for the |
| ism_diffA | Catalog delta between two ISM versions. Defaults compare the version before active (from) to the active version (to), so a
bare call answers 'what changed in the latest release'. |
| ism_historyA | Show one control's evolution across every loaded ISM version. Returns a chronological timeline of changes to that single control. Identifier input is tolerant like ism_get. An unknown id returns an empty timeline with a hint rather than an error. For the whole-catalog delta between two versions, use ism_diff instead. |
| ism_applicableA | Rank ISM controls relevant to a free-text description of planned or current work. The primary discovery tool. Describe the work in a sentence or two and it returns
the most relevant controls. For exact keyword or phrase lookup, use ism_search.
Uses hybrid retrieval (semantic embeddings + FTS5 BM25) fused with Reciprocal
Rank Fusion. Optional filters: classification (NC|OS|P|S|TS or OFFICIAL through
TOP_SECRET), maturity (ML1|ML2|ML3, Essential Eight controls only, so leave it
unset unless scoping to the Essential Eight), tags (validated against
ism_list_sections), paths (repo paths whose tokens expand the lexical query).
Invalid filter values fail. |
| ism_coverage_readA | Read the project's coverage manifest ( Returns scope, summary counts, and curated entries. Walks up from cwd to find the
manifest if |
| ism_coverage_upsertA | Create or update one entry in the coverage manifest ( The only tool that writes to disk. It rewrites the manifest file atomically and an
existing entry for the identifier is replaced whole. |
| ism_coverage_gapsA | Return outstanding in-scope controls (uncurated, partial, deferred). Never writes. The complement of ism_coverage_read: read reports what is curated, gaps reports
what is missing. Reads the manifest ( |
| ism_coverage_impactA | Report what a newer ISM version means for the project's coverage. Never writes. Buckets covered/partial entries into re_review (control changed since it was
assessed), removed_upstream (control gone at target), and new_uncovered (now in
scope, no entry). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SamuelDudley/ism-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server