Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ISM_MCP_DBNoOverride the database location. Default ~/.local/share/ism-mcp/ism.db.
ISM_MCP_EMBEDDERNoForce a specific embedder at server start. Options: fastembed (default), hash (test-only), none (disables semantic retrieval).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ism_getB

Get the full record for one ISM control by its identifier (e.g. ISM-1781).

ism_searchA

Full-text search over ISM control descriptions and topics. Returns up to limit matches ranked by relevance.

ism_list_by_classificationA

List controls that apply at a given classification level. Allowed values: NC, OS, P, S, TS.

ism_list_topicsA

List all distinct topic strings present in the ISM.

ism_list_by_topicA

List controls under a specific topic (exact match, use ism_list_topics to enumerate).

ism_statsA

Report database statistics: total controls, ISM revision metadata, source paths.

ism_list_sectionsA

List the distinct ISM Section values, the vocabulary for the tags filter on ism_applicable.

ism_list_classificationsA

Return the classification enum (canonical abbreviations and friendly aliases).

ism_list_maturitiesA

Return the Essential Eight maturity levels.

ism_applicableA

Rank ISM controls relevant to a free-text description of planned or current work.

Uses hybrid retrieval (semantic embeddings + FTS5 BM25) fused with Reciprocal Rank Fusion. Optional filters: classification (NC|OS|P|S|TS or OFFICIAL|...|TOP_SECRET), maturity (ML1|ML2|ML3, Essential Eight only: only ~126 of 1081 controls carry a maturity rating, so passing maturity drops every other control; leave it unset unless scoping to the Essential Eight), tags (validated against ism_list_sections), paths (repo paths whose tokens expand the lexical query). score in each result is a normalised RRF score in [0.0, 1.0], not a probability.

ism_coverage_readA

Read the project's coverage manifest. Returns scope, summary counts, and curated entries.

Walks up from cwd if project_path is omitted. status_filter narrows the controls map to a single status (covered|partial|not-applicable|deferred); summary is unfiltered.

ism_coverage_upsertA

Create or update one entry in the coverage manifest.

Validates identifier against the ISM DB, validates status enum, validates that every attachment path resolves on disk and that every url and attachment carries a description. last_reviewed defaults to today. Writes are atomic.

ism_coverage_gapsB

Return outstanding in-scope controls (uncurated, partial, deferred).

If work is supplied, runs ism_applicable with the project's scope as filters and intersects with the manifest to return work-relevant gaps ranked by score. Without work, returns the full outstanding set ordered uncurated > partial > deferred.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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