optimizely-test-data-mcp
Generates importable Optimizely CMS 12 .episerverdata packages from content plans by reading a content-type export and writing the file, without interacting with a CMS instance.
README
optimizely-test-data-mcp
An MCP server that turns a content plan into an importable Optimizely CMS 12
.episerverdata package.
The generator never touches a CMS. It reads a content-type export and writes a file; a human exports the schema and a human imports the result under Admin → Import Data.
Use it
{
"mcpServers": {
"optimizely-test-data": {
"command": "bunx",
"args": ["optimizely-test-data-mcp@0.1.1"]
}
}
}
Pin the version. An unpinned spec is re-resolved on every session start instead of being served from cache — on Windows that measured ~11s per start versus ~0.7s pinned.
npx works the same way if you would rather not use Bun.
Tools
| Tool | Purpose |
|---|---|
load_schema |
Load the site's content types from an Admin → Export Data export (content types only). Every other tool fails until this succeeds. |
list_content_types |
Find the types the site actually has, filtered by kind or name. |
describe_content_type |
One type's properties, which are required, and a ready-to-edit plan skeleton. |
validate_plan |
Check a plan without writing anything. Errors name the shape they expected. |
build_package |
Write the .episerverdata file. |
inspect_package |
Summarise the content tree inside an existing package. |
Limits
Media, inline block properties, unpublished content, more than one language,
Category and untyped Json are not generated. Any property type with no proven
serialisation is left empty with a warning rather than guessed — a wrong guess
produces content that looks right and is subtly incorrect.
Working: pages, blocks, nested page trees, text, HTML, ContentArea, content
references, and {{date:±Nd}} / {{date:±Nh}} / {{date:±Nm}} tokens.
Releasing
-
Bump
versioninpackage.json. -
Commit, then tag and push:
git tag v0.2.0 git push origin v0.2.0
The workflow checks the tag against package.json, runs the tests, builds dist/,
and publishes through OIDC trusted publishing — no token to store.
Releasing is CI's job. There is no prepublishOnly hook, so npm publish on
its own does not build: dist/ is git-ignored, and publishing without it ships a
package whose files: ["dist"] matches nothing. npm accepts that and exits 0, so
nothing reports the failure — the broken version simply reaches consumers. If you
ever do need to publish by hand, run bun run build first.
That hand-publish is required exactly once: npm can only trust a package it already
knows about. Publish 0.1.1 manually (bun run build, then npm publish after
npm login), then add the trusted publisher under the package's Settings →
Trusted Publisher on npmjs.com, pointing at this repository and publish.yml.
Every release after that comes from a tag.
Consumers pin the version they use — see the config above. Bumping here does not move them until they update that pin.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.