npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@intenttext/mcp-server

v1.4.4

Published

MCP server for IntentText — parse, validate, query, and render .it documents from any AI agent

Downloads

1,519

Readme

@intenttext/mcp-server

What is IntentText?

IntentText (.it) is a plain-text document format where every line has a declared semantic type — making documents simultaneously human-writable and natively JSON. A task: is a task. A step: is an executable workflow step. Every block parses to typed, deterministic JSON with no interpretation required.

This MCP server gives any AI agent the ability to work with IntentText documents as native tool calls.

Deployed instance: https://intenttext-mcp.onrender.com — use this URL directly in any MCP client that supports remote servers.


MCP server for IntentText — parse, validate, query, render, and generate .it documents from any AI agent.

With this server running, Claude, GPT, or any MCP-compatible agent can work with IntentText documents as native tool calls — without needing to understand the format itself.

Installation

npm install -g @intenttext/mcp-server
# or use npx (no install required)
npx @intenttext/mcp-server

Configure with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "intenttext": {
      "command": "npx",
      "args": ["@intenttext/mcp-server"]
    }
  }
}

Configure with any MCP client

{
  "command": "npx",
  "args": ["@intenttext/mcp-server"],
  "env": {}
}

HTTP Wrapper (for hosted MCP URLs)

This package also includes an HTTP wrapper so you can deploy it from this GitHub repo to platforms like Railway/Render/Fly and provide a URL (for directories that ask for https://.../mcp).

npm install
npm run build
npm run start:http

Endpoints:

  • POST /mcp - MCP Streamable HTTP endpoint
  • GET /health - health check endpoint

Environment variables:

  • PORT (default 3000)
  • HOST (default 0.0.0.0)

Note: GitHub itself cannot host a long-running Node server process. Keep the wrapper code in GitHub, then deploy it to a runtime provider and use that public URL in Smithery forms.

The public deployment is available at https://intenttext-mcp.onrender.com.

Available Tools

parse_intent_text

Parse an IntentText (.it) source string into a structured JSON document.

| Parameter | Type | Description | | --------- | ------- | ------------------------------------------------------------------------ | | source | string | The IntentText source string to parse | | safe | boolean | If true, never throw — returns warnings instead of errors. Default: true |

render_html

Render an IntentText source string to styled HTML.

| Parameter | Type | Description | | --------- | ------ | ------------------------------------- | | source | string | IntentText source string (.it format) |

render_print

Render an IntentText document to print-optimised HTML with @media print CSS. Suitable for PDF generation.

| Parameter | Type | Description | | --------- | ------ | ------------------------ | | source | string | IntentText source string |

merge_template

Merge an IntentText template (containing {{variable}} placeholders) with a data object.

| Parameter | Type | Description | | ---------- | ------ | -------------------------------------------------------------------------------- | | template | string | IntentText template source with {{variable}} placeholders | | data | object | JSON object with values to substitute into the template | | render | string | "none" (default), "html", or "print" — optionally render the merged result |

validate_document

Validate an IntentText document for semantic correctness. Checks for broken step references, missing required properties, unresolved variables, and workflow logic errors.

| Parameter | Type | Description | | --------- | ------ | ------------------------------------ | | source | string | IntentText source string to validate |

query_document

Query an IntentText document for specific blocks by type, content, or properties.

| Parameter | Type | Description | | --------- | ------ | --------------------------------------------------------- | | source | string | IntentText source string | | type | string | Block type filter — e.g. "task", "step,gate,decision" | | content | string | Substring to search for in block content | | section | string | Only return blocks within this section | | limit | number | Maximum number of results to return |

diff_documents

Compare two versions of an IntentText document and return a semantic diff.

| Parameter | Type | Description | | --------- | ------ | ------------------------------ | | before | string | The original IntentText source | | after | string | The updated IntentText source |

document_to_source

Convert an IntentText JSON document back to .it source format.

| Parameter | Type | Description | | ---------- | ------ | --------------------------------------------------------------------- | | document | object | An IntentText document JSON object (as produced by parse_intent_text) |

extract_workflow

Extract the execution graph from an IntentText workflow document. Returns steps in topological order, dependency relationships, parallel batches, and gate positions.

| Parameter | Type | Description | | --------- | ------ | ---------------------------------------------------------------------------- | | source | string | IntentText source containing workflow blocks (step:, decision:, gate:, etc.) |

Example: Agent Workflow

User: Create a deployment workflow for a web app

Agent calls: parse_intent_text with a generated .it document
Agent calls: validate_document to check for issues
Agent calls: extract_workflow to get the execution graph
Agent calls: render_html to produce a visual version

License

MIT