@aischemagen/mcp
v1.12.0
Published
MCP server for AI Schema Gen — generate, validate, analyze, and extract Schema.org JSON-LD via the AI Schema Gen API.
Maintainers
Readme
AI Schema Gen — MCP Server
A Model Context Protocol server that lets any MCP client (Claude Desktop, Claude Code, Cursor, Windsurf, …) generate, analyze, validate, and extract Schema.org JSON-LD structured data through the AI Schema Gen API.
Tools
| Tool | What it does |
|------|--------------|
| generate_schema | Generate JSON-LD structured data for a piece of content (auto-detects type or force one). |
| analyze_content | Detect the recommended Schema.org type + entities without generating full markup. |
| validate_schema | Validate an existing JSON-LD object and report errors/warnings. |
| extract_schema | Fetch a live URL and return all JSON-LD blocks on it (audit / competitor analysis). |
| check_usage | Current plan, quota remaining, lifetime totals, and recent generation activity. |
| check_billing | Plan, subscription status, period end date, and recent invoices — via our own billing API, never Stripe directly. |
| get_readiness_score | Recall a site's AI readiness score, grade and four-pillar breakdown. Always dated, always recalled from the platform, never computed locally. |
| get_fix_plan | The ranked list of what is hurting a site's readiness score, how many pages each finding affects, how many points it is worth, and which parts can be fixed automatically. |
| apply_fix | Run one of the automatic fixes: schema-coverage (generate markup for pages that have none), entity-republish (bake saved Entity Profile changes into pages), or llms-txt (publish an llms.txt map of the site, free, every connected site, does not affect the score). Previews the schema fixes first, bounded by the account's remaining allowance. |
| list_sites | List every site connected to this account. |
| list_site_pages | List a site's synced pages with schema coverage — find post IDs for bulk jobs. |
| list_missing_alt_text | Every image with no alt text from the last check, grouped by page, as markdown — an assisted-code fix: add the attributes in the site's own source. |
| start_bulk_generation | Queue generation (or deletion) across many post IDs on a site in one job (Pro/Premium). |
| get_bulk_job_status | Poll a bulk job's progress until it completes. |
| setup_nextjs_schema | Sets up @aischemagen/nextjs for a Next.js site — creates the site on the dashboard if needed (just pass its URL), fetches its publish token, and returns every file to add. Call again with verify: true after deploying to connect the site. |
Connecting a Next.js site (do this first)
generate_schema, start_bulk_generation, and apply_fix are refused for a
Next.js site until it is connected, because schema generated for a site the
platform can't reach would just be billed and never shown. Read-only tools
(get_readiness_score, get_fix_plan, list_sites, check_usage) work
before connecting, so you can see what's wrong first.
To connect:
- Confirm the project is Next.js (App Router). Other stacks aren't supported through the MCP yet.
setup_nextjs_schemawith the site URL. Do every step it returns (install the package, add the revalidate + content + llms.txt routes, set the publish token, add<AISchemaGen>to every page, add the project rule).- Deploy.
setup_nextjs_schemawithverify: true. A passing verify connects the site.
Only Next.js (App Router) is supported today. Astro, Nuxt, SvelteKit, static generators, and own-backend apps are planned.
Security
This server never talks to Stripe (or any other payment processor) directly, and
never accepts a Stripe key as configuration. check_billing and every other tool
call our own backend, which holds the real Stripe secret key server-side only
(Railway environment variable, never shipped to any client) and returns an
already-summarized, safe response. The only credential this package ever needs is
your AISCHEMAGEN_API_KEY.
Prerequisites
- Node.js 18+
- An AI Schema Gen API key — create one at https://www.aischemagen.com/api-keys
Install
Published on npm as @aischemagen/mcp. No local install needed, your MCP client
downloads and runs it on demand via npx. Requires Node.js 18+.
Configure your MCP client
Set your API key via the AISCHEMAGEN_API_KEY environment variable.
Claude Desktop / Claude Code / Cursor / Windsurf
{
"mcpServers": {
"aischemagen": {
"command": "npx",
"args": ["-y", "--package=@aischemagen/mcp", "aischemagen-mcp"],
"env": {
"AISCHEMAGEN_API_KEY": "your_api_key_here"
}
}
}
}Use the explicit npx -y --package=@aischemagen/mcp aischemagen-mcp form shown
above rather than the shorter npx -y @aischemagen/mcp. On some systems (notably
Windows) npx cannot auto-resolve a scoped package's bin when the bin name
differs from the package name; the explicit form always works.
Claude Code (CLI)
claude mcp add aischemagen \
--env AISCHEMAGEN_API_KEY=your_api_key_here \
-- npx -y --package=@aischemagen/mcp aischemagen-mcpPrefer a permanent local install? npm install -g @aischemagen/mcp, then point
your MCP client's command directly at aischemagen-mcp instead of npx.
Building from source
cd mcp
npm install
npm run buildThis produces dist/index.js (the executable server, aischemagen-mcp).
Environment variables
| Variable | Required | Default |
|----------|----------|---------|
| AISCHEMAGEN_API_KEY | Yes | — |
| AISCHEMAGEN_API_URL | No | https://api.aischemagen.com/api/v1 |
Notes
generate_schema,analyze_content, andclassifycount against your plan's generation quota (the same as using the app).validate_schemaandextract_schemado not consume generation quota (extract has its own monthly competitor-analysis limit).- All requests authenticate with your API key over HTTPS.
