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

@easyink/mcp-server

v0.0.10

Published

MCP server for EasyInk template generation via LLM

Readme

@easyink/mcp-server

EasyInk MCP server for natural-language template generation. It exposes a stable generateSchema tool for the AI panel and several debug tools for inspecting the generation pipeline.

Transports

pnpm -F @easyink/mcp-server start:stdio
pnpm -F @easyink/mcp-server start:http

HTTP mode defaults to http://0.0.0.0:3000/mcp and allows browser requests from any Origin.

Environment

| Name | Required | Default | Description | | --- | --- | --- | --- | | MCP_API_KEY | no | request header | LLM provider API key fallback when X-EasyInk-Provider-Key is not sent. Required for stdio calls that invoke LLM tools. | | MCP_PROVIDER | no | claude | claude or openai; fallback when X-EasyInk-Provider is not sent. | | MCP_MODEL | no | provider default | Model name fallback when X-EasyInk-Model is not sent. | | MCP_BASE_URL | no | provider default | Custom provider-compatible endpoint fallback when X-EasyInk-Base-URL is not sent. | | MCP_STRICT_OUTPUTS | no | true | Set to false to start directly in JSON mode. OpenAI-compatible endpoints that reject strict json_schema are automatically retried with json_object, then without response_format if needed. | | MCP_TRANSPORT | no | stdio | stdio or http. | | MCP_HTTP_HOST | no | 0.0.0.0 | HTTP bind host. | | MCP_HTTP_PORT | no | 3000 | HTTP port. |

HTTP clients may provide request-scoped provider settings with these headers:

| Header | Description | | --- | --- | | X-EasyInk-Provider | claude or openai. | | X-EasyInk-Provider-Key | LLM provider API key. | | X-EasyInk-Model | Optional model override. | | X-EasyInk-Base-URL | Optional provider-compatible HTTPS endpoint. |

Tool Surface

Primary tool:

  • generateSchema: resolves a generation plan, asks the LLM for TemplateIntent, deterministically builds DocumentSchema, repairs and validates it, then returns schema, expectedDataSource, dataSource, assumptions, intent and validation metadata.

Debug tools:

  • resolvePlan: inspect domain, page and table strategy inference.
  • generateIntent: inspect raw LLM TemplateIntent before deterministic construction.
  • buildSchemaFromIntent: build schema and data source from a supplied intent and plan.
  • validateGeneratedSchema: run deterministic repair, accuracy validation and schema validation for a supplied schema.

Legacy-compatible tool:

  • generateDataSource: deterministically builds a DataSourceDescriptor from ExpectedDataSource. The primary flow no longer needs an extra LLM call for this.

Architecture Notes

The generation path is intent-first:

  1. Resolve AIGenerationPlan via LLM with deterministic keyword fallback.
  2. Generate compact TemplateIntent using strict structured output by default.
  3. Build DocumentSchema and ExpectedDataSource deterministically in @easyink/schema-tools.
  4. Repair low-risk schema drift and validate canonical material/table rules.
  5. Build a stable DataSourceDescriptor on the server, using dataSource.id === binding.sourceId.

currentSchema is used as context for a complete replacement. Patch-level editing is intentionally not part of this server contract yet.

HTTP Mode

HTTP mode responds with Access-Control-Allow-Origin: * and does not expose an Origin allowlist or MCP-level API key setting. The AI panel can either rely on the server environment variables above or send provider settings per request with X-EasyInk-* headers.