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 |
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": 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
- 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/davep/ngmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server