ngmcp
ngmcp is an MCP server that exposes
Norton Guide database files
to AI agents. It is built on top of the
ngdb library and uses
fastmcp as its MCP framework.
Norton Guides are a classic hypertext help-file format from the DOS era, used widely for Clipper and similar tool documentation.
Installation
NGMCP requires Python 3.12 or later.
Using uv (recommended)
The fastest and most modern way to install NGMCP is with uv:
uv tool install ngmcp
If you don't have uv installed you can use uvx.sh to
perform the installation. For GNU/Linux or macOS or similar:
curl -LsSf uvx.sh/ngmcp/install.sh | sh
or on Windows:
powershell -ExecutionPolicy ByPass -c "irm https://uvx.sh/ngmcp/install.ps1 | iex"
Using pipx
pipx install ngmcp
Configuration
How you configure your agent to use the server will depend on the agent you're using. Generally the configuration to use will be:
{
"mcpServers": {
"ngmcp": {
"command": "ngmcp",
"args": [],
"env": {
"NGMCP_GUIDE_DIRS": "/path/to/your/ng/files"
}
}
}
}
[!note] Adjust the
commandandargsdepending on your installation method.
Configuration
| Environment variable | Default | Description |
|---|---|---|
NGMCP_GUIDE_DIRS |
(none) | Colon-separated list of directories to search for .ng files |
NGMCP_ALLOW_ABSOLUTE_PATHS |
false |
Allow tools to open .ng files by absolute path |
Available Tools
| Tool | Description |
|---|---|
get_guide_info |
Title, credits, magic, made_with, menu count, and file size |
list_menus |
Menu structure: title and prompt list for each menu |
list_entries |
All entries with type, offset, line count, and first line of text |
read_entry |
Full plain-text content of the entry at a given offset |
read_entry_source |
Full plain-text Norton Guide source content of the entry at a given offset |
follow_link |
Follow a short-entry link to the target long entry |
line_search_guide |
Line-oriented full-text search through all entries |
body_search_guide |
Full-body-oriented full-text search through all entries |
list_guide_files |
.ng files in the configured guide directories |
Hacking
See Contributing.md.
git clone https://github.com/davep/ngmcp
cd ngmcp
make setup
make checkall
Release files for ngmcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ngmcp-0.2.0.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ngmcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.1 kB
Release files / ngmcp-0.2.0.tar.gz
| Download URL | ngmcp-0.2.0.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7581336c2ff7c24e1ab26f2d91360d002e9a8ebbc39e44bc3bf7c45623082bc2
|
|
BLAKE2b-256 checksum How to use checksums |
86816ed8b93b507089478023da5b99923e358096cfd9eee13f7f4d30a5a78808
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / ngmcp-0.2.0-py3-none-any.whl
| Download URL | ngmcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4beea03604c5740b93e7501f069349aa9b6d16cf01ab4fe66f53015a6fbf0569
|
|
BLAKE2b-256 checksum How to use checksums |
8c4ade705efd5763eec78bf89ee036b524deb93c4960546ceda7f956aabd3166
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|