Northern Forge MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_live_productsA | List Northern Forge live products (title, url, blurb, monetization). Free core tool for agents. |
| get_productA | Get one product by product_id or slug. |
| popular_toolsA | Hot/popular product ranks from conversion analytics (when available). Falls back to catalog seeds. |
| post_eventC | Record an analytics event (product_view, product_open, card_click, agent_tool_call). |
| get_payment_linkB | Return known Stripe payment link URL for a product if configured (pro unlock). |
| forge_statusA | Public forge status: hub URL, MCP endpoint, conversion API, product count, manifesto surfaces. |
| list_mcp_toolsA | List this server tools with schemas (self-describe). |
| golden_hour_windowsA | Compute approximate sunrise/sunset/golden-hour windows for lat/lon/date (no API key). MVP solar math. |
| pack_weight_sumA | Sum gear pack items in grams. items: [{name, grams, qty?}]. Returns total g and lb. |
| prompt_variantsA | Split a goal+notes blob into Claude / GPT / Grok oriented prompt variants (local, no LLM call). |
| diff_textA | Line-by-line diff of two text blobs. Returns unified-style +/- lines and add/remove/unchanged counts. |
| cron_explainA | Explain a 5-field cron expression (minute hour day-of-month month day-of-week) in plain English. |
| unit_convertB | Convert a numeric value between units: length, mass, volume, time, data size, and temperature. |
| slug_caseB | Convert text into slug/kebab, snake_case, camelCase, PascalCase, CONSTANT_CASE, and Title Case variants. |
| reading_timeA | Estimate reading time for a blob of text (word/char counts, minutes and mm:ss at a given or default WPM). |
| json_to_tsA | Infer TypeScript interfaces from a JSON string (or object). Local, no LLM. Caps depth/size for agent safety. |
| base64_codecA | Encode text to base64 or decode base64 to UTF-8 text. |
| uuid_batchA | Generate one or more UUID v4 strings (local crypto.randomUUID / fallback). |
| csv_to_markdownA | Convert CSV text (comma-separated, optional quoted fields) into a GitHub-flavored markdown table. |
| extract_urlsA | Extract unique http(s) URLs from free text. |
| wcag_contrastA | WCAG relative luminance contrast ratio between two hex colors (#RGB or #RRGGBB). Reports AA/AAA pass for normal and large text. |
| hash_textA | Hash a string with sha256 / sha1 / md5 (hex). Local crypto — no network. |
| html_escapeA | Escape or unescape HTML entities (& < > " '). |
| percent_changeA | Percent change from old → new value (and absolute delta). |
| word_freqB | Top word frequencies in text (case-insensitive, simple tokenizer). |
| regex_testA | Test a JS-style regex against text. Returns match count and up to 20 match slices. |
| jwt_decodeA | Decode JWT header + payload (no signature verify). For inspection only. |
| now_isoA | Current time as ISO-8601 UTC, unix seconds, and optional IANA timezone label (offset only — no full tz DB). |
| lorem_ipsumA | Generate placeholder lorem paragraphs/sentences (offline). |
| install_configA | Return ready-to-paste MCP install snippets for Cursor, Claude Desktop, and generic HTTP clients. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 30 tools
Each tool has a distinct purpose, from text utilities to product lookups. Even closely related functions like hash_text and base64_codec are clearly separated, leaving no ambiguity about which to select.
All tool names are lowercase snake_case, creating a uniform style. Though not every name follows a strict verb_noun pattern, the mix of verb-first and noun-first names is predictable and easy to scan.
With 30 tools, the server feels heavily overscoped. Many utilities such as now_iso, lorem_ipsum, and uuid_batch are trivial and unlikely to justify their place in the set, making it unwieldy for an agent to parse.
The product-related tools cover listing, retrieval, status, and analytics with no dead ends, though they lack creation or update capabilities. Each utility is self-contained and complete for its narrow purpose.