ngmcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NGMCP_GUIDE_DIRS | Yes | Colon-separated list of directories to search for .ng files | |
| NGMCP_ALLOW_ABSOLUTE_PATHS | No | Allow tools to open .ng files by absolute path | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_guide_infoA | Return metadata for a Norton Guide database file. Args: path: Absolute path to the .ng file. Returns: A dictionary with the following keys: Raises: FileNotFoundError: If path does not point to an existing file. |
| list_menusA | Return the menu structure of a Norton Guide database file. Each menu in the guide is returned as a dictionary describing its title, the list of prompt strings, and the guide offsets associated with each prompt. Args: path: Absolute path to the .ng file. Returns: A list of menu dictionaries. Each dictionary contains: Raises: FileNotFoundError: If path does not point to an existing file. |
| list_entriesA | List all entries in a Norton Guide database file. Args: path: Absolute path to the .ng file. Returns: A list of entry summary dictionaries. Each dictionary contains: Raises: FileNotFoundError: If path does not point to an existing file. |
| read_entryA | Return the full plain-text content of the entry at a given offset. Args:
path: Absolute path to the .ng file.
offset: Byte offset of the entry within the guide, as returned by
Returns: A dictionary containing: Raises: FileNotFoundError: If path does not point to an existing file. ValueError: If the offset does not point to a valid entry. |
| read_entry_sourceA | Return the raw source lines of the entry at a given offset. Args:
path: Absolute path to the .ng file.
offset: Byte offset of the entry within the guide, as returned by
Returns: A dictionary containing: |
| follow_linkA | Follow a link in a short entry and return the target long entry. Short entries in a Norton Guide are index-style pages where each line links to a long entry. This tool loads the short entry at offset, reads the link on line, and returns the plain-text content of the target long entry. Args: path: Absolute path to the .ng file. offset: Byte offset of the short entry within the guide. line: Zero-based line index within the short entry whose link to follow. Returns: A dictionary containing: Raises: FileNotFoundError: If path does not point to an existing file. ValueError: If the offset does not point to a short entry, if line is out of range, or if the link has no associated target offset. |
| line_search_guideA | Search all entries in a Norton Guide for lines matching a query string. The search is performed on plain text (markup stripped) and returns all entries that contain at least one matching line. Args:
path: Absolute path to the .ng file.
query: The text string to search for.
case_sensitive: When Returns: A list of match dictionaries. Each dictionary contains: Raises: FileNotFoundError: If path does not point to an existing file. |
| body_search_guideA | Search all entries in a Norton Guide for a query string anywhere in the body. This is similar to line_search_guide but returns the entire entry content for any entry that contains a match, rather than just the matching lines. The search is also done on the whole body, with lines joined using a space. Args:
path: Absolute path to the .ng file.
query: The text string to search for.
case_sensitive: When Returns: A list of match dictionaries. Each dictionary contains: Raises: FileNotFoundError: If path does not point to an existing file. |
| list_guide_filesA | List Norton Guide (.ng) files available to the server. Args: directory: Optional directory path to restrict the listing to. When omitted all configured guide directories are searched. Returns: A sorted list of file-info dictionaries, each containing: Raises:
FileNotFoundError: If directory is provided but does not exist.
PermissionError: If directory is outside the configured guide dirs
and |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_guides | Return a list of all .ng files discoverable in the configured dirs. Returns: A list of file-info dictionaries, each containing: - ``path`` (str): Absolute path. - ``name`` (str): Filename. - ``size`` (int): File size in bytes. |
| markup_glossary | Return a dictionary mapping markup tag codes to their meanings. Returns: A dictionary where each key is a markup tag (e.g. ``"^A"``) and each value is a string describing the tag's meaning and usage. |
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/davep/ngmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server