mcp-server@0.45.119
CAUTION· not startedPublisher claims: "Typeroll CMS MCP server – connect AI agents to the REST API to manage content and publish static websites." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Not started: dependency install failed; the server itself was not observed.- Tested
- the dependency install step · every file read, file written and host contacted by what ran
- Not tested
- server startup · the tool list · tool behavior
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
Code inventory arrives with this version's next honeypot run.- It will ask for
- unknown until the next run
- Where it talks to
- unknown until the next run
- What the honeypot saw
- no credential files read · no network
- What we could not test
- server startup · the tool list · tool behavior
Not enough was observed to say yet. Not started: dependency install failed; the server itself was not observed. This version's code has not been inventoried for credentials and hosts either; both arrive with its next honeypot run (popular servers first). `vet-skills try mcp-server` runs it now and prints the full answer.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; not started: dependency install failed; the server itself was not observed) on 2026-11-07 and scored it 68/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Auto-update or dynamic fetch configuration; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 1 s · 2 scenarios · 0 deviationsStatic findings
"tr-import-url": "---\nname: tr-import-url\ndescription: Use when the user wants to import or migrate content from a non-WordPress website — a Squarespace site, a Wix site, a static HTML site, a WebflFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.console.error('Usage: npx @typeroll/mcp-server install-skills <destination> [--force]');Fix: Pin versions and sources; vendor anything fetched at install time.`.env` keys (only the ones the user has — check before assuming):Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.name: 'set_organization_build_auto_update', noSite: true,Fix: Pin versions and sources; vendor anything fetched at install time.export const ignores = ['.typeroll/', '.env', '.env.*', '!.env.example', '.mcp.json', '.cursor/mcp.json', '.vscode/mcp.json', 'qa/reports/', 'sources/private/', '**/__pycache__/', 'scripts/typeroll/noFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| Only with the owner's approval, in `cookie_consent.scripts_optional` with the banner enabled. Never in `scripts_head`, `scripts_body_end`, `scripts_necessary`Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct."tr-new-site": "---\nname: tr-new-site\ndescription: Use when the user wants to create a new Typeroll site from scratch, set up the initial design, or bootstrap a blank site with working header/footerFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.Load them per-command (`source .env` doesn't persist between Bash calls):Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| Never copy. Enable the site's cookie banner (`cookie_consent.enabled: true`) with Swedish or local text and the privacy policy URL. |Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct."tr-migrate-multisite": "---\nname: tr-migrate-multisite\ndescription: Use when migrating SEVERAL sites at once — a WordPress multisite network, a group of country/language sites on different top-leveFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why."tr-imagegen": "---\nname: tr-imagegen\ndescription: Use when the user wants to generate images for a Typeroll site with AI models (Gemini, OpenAI, Higgsfield) — hero images, illustrations, section baFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.live in the folder's `.env`, candidates land in `images/lab/`, and onlyFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.export $(grep -v '^#' .env | xargs) # prepend to each generation commandFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.├── .env # provider keys — GITIGNORED, never committedFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.description: 'Read the selected provider, saved Cloudflare and GitHub build engines, and active jobs for the organization (each with job_id, site_id, kind and status: queued, running, or publishing whFix: Pin versions and sources; vendor anything fetched at install time."tr-migrate-wp": "---\nname: tr-migrate-wp\ndescription: Use when the user asks to migrate a WordPress site to Typeroll, mentions wp-json, or names a WP source URL. Walks the WP REST API, preserves clFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why."agents": "# AGENTS.md — Working on a Typeroll site\n\nYou are connected to a Typeroll site through `@typeroll/mcp-server`.\nThis file is your briefing: what the system is, what conventions matter,\nwFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them."tr-seo": "---\nname: tr-seo\ndescription: Use before a site's first launch and whenever the user asks to improve SEO, fix titles or meta descriptions, set a share image, add structured data, check thFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why."readme": "# Typeroll CMS MCP server\n\nThe `@typeroll/mcp-server` package connects MCP-compatible AI clients to the\n[Typeroll CMS](https://typeroll.com) public API. Manage sites through tools to reaFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.| Never copy. Rebuild what it did with native blocks, Forms or settings, or report a platform gap (see "Report platform gaps"). |Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct."readme": "# Typeroll CMS MCP server\n\nThe `@typeroll/mcp-server` package connects MCP-compatible AI clients to the\n[Typeroll CMS](https://typeroll.com) public API. Manage sites through tools to reaFix: Pin versions and sources; vendor anything fetched at install time."tr-imagegen": "---\nname: tr-imagegen\ndescription: Use when the user wants to generate images for a Typeroll site with AI models (Gemini, OpenAI, Higgsfield) — hero images, illustrations, section baFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.description: "Add old-site URLs to the inventory in bulk (up to 2000 per call). This is how the inventory gets populated outside the in-portal WordPress migration: walk the old sitemap.xml, a GSC expoFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.npx @typeroll/[email protected] init ./my-site --recipes --updateFix: Pin versions and sources; vendor anything fetched at install time.ai_crawler_policy: z.enum(['allow_all', 'no_training', 'block_all']).nullable().optional().describe('AI crawler preference, written as Cloudflare-compatible Content Signals in robots.txt and the ConteFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.'README.md': `# Website workspace\n\nKeep project intent here; edit the website through Typeroll CMS.\n\n1. Read AGENTS.md. For guidance, ask your agent to start or resume workflows/interview.md. OtheFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.npx @typeroll/[email protected] init ./my-site --recipesFix: Pin versions and sources; vendor anything fetched at install time.'README.md': `# Website workspace\n\nKeep project intent here; edit the website through Typeroll CMS.\n\n1. Read AGENTS.md. For guidance, ask your agent to start or resume workflows/interview.md. OtheFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.'README.md': `# Website workspace\n\nKeep project intent here; edit the website through Typeroll CMS.\n\n1. Read AGENTS.md. For guidance, ask your agent to start or resume workflows/interview.md. OtheFix: Pin versions and sources; vendor anything fetched at install time.Cost to the agent
Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.
Known vulnerabilities
No advisories in OSV for @typeroll/mcp-server@0.45.119 as of 7d ago. This is the package itself, not its dependencies.
What would make this Verified
12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim typeroll: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Hidden instructions≈ +6 on the totalRemove HTML comments, zero-width characters and white-on-white text that carry instructions. Everything the agent is meant to read should be visible to the person reading the file.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Auto-update or dynamic fetch configuration≈ +4 on the totalPin versions and sources; vendor anything fetched at install time.
- File type combined with upload action≈ +2 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.
- npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.