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). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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