MeaningSpace MCP

MeaningSpace MCP

Free, deterministic, theory-traceable computational-creativity framework that generates, develops, contrasts, evaluates, and synthesizes structured creative ideas through MCP, with no accounts, database, or model inference.

Category
访问服务器

README

MeaningSpace MCP

MeaningSpace banner

License: MIT Model Context Protocol Cloudflare Workers TypeScript Node.js >= 20 CI

An engine of creative strategies for AI agents — free, deterministic, theory-traceable, as an MCP server.

MeaningSpace does not generate ideas. It hands the caller moves: theory-grounded transformations to perform on their own material, each with the structure to borrow, the steps to run, what to suppress, a check that says whether the move actually happened, and the ways it usually fails.

The server never receives, represents, transforms, or judges your concept. It contributes method; you contribute content.

The distinction that matters

MeaningSpace does MeaningSpace does not
Return procedures drawn from computational-creativity theory Generate ideas or write prose for you
Name a relation worth borrowing from a remote domain Hold a model of your concept
Give you a test for whether a move succeeded Score, rank, or assess your candidates
Cite its sources and state what it does not implement Claim to measure creativity

Try the live demo

https://meaningspace-mcp.alnx.workers.dev

MCP endpoint:

https://meaningspace-mcp.alnx.workers.dev/mcp

What is new in v0.5

v0.5 is a breaking replacement of the v0.4 tool surface. The previous tools transformed a server-side CreativeState and produced candidate ideas and ordinal assessments. That was the wrong shape: it put the creative act and the judgment on the server.

  • Replaced the seven generation, development, evaluation, and synthesis tools with five strategy tools.
  • Removed server-side concept representation entirely. There is no CreativeState, no concept extraction, and no prose rendering.
  • Removed all assessment. evaluate_ideas became get_review_protocol, which returns criteria, what evidence each needs, and a question to ask yourself — and explicitly does not rank.
  • Every operator gained a playbook: intent, what to identify first, an ordered procedure, what to project, what to suppress, a success check, failure modes, questions, and ways to push further.
  • Strategies now cite their sources inline (Gentner (1983), Structure-Mapping…) alongside implementation status and omitted constructs.
  • Roughly 3× faster, because nothing is transformed: about 0.04 ms for a set of eight strategies.

See CHANGELOG.md for the full v0.4-to-v0.5 migration notes.

Architecture

Static site
└─ landing page, with the operator catalogue rendered from the engine at build time

Cloudflare Worker
├─ JSON API
├─ Streamable HTTP MCP endpoint
├─ native fair-use rate limiter
└─ static asset binding

External services
└─ none

Sessions are carried by the caller: pass moves you have already run back into deepen_strategy or contrast_strategies. The server stores nothing between requests.

Requirements

  • Node.js 20 or newer; Node.js 22 is recommended.
  • npm.

Run locally

npm install
npm run dev:node

Open http://127.0.0.1:8787; the MCP endpoint is at /mcp. No environment variables, migration, API key, or payment setup is required.

Test the MCP directly

Initialize:

curl http://127.0.0.1:8787/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"initialize",
    "params":{
      "protocolVersion":"2025-11-25",
      "capabilities":{},
      "clientInfo":{"name":"local-test","version":"1.0"}
    }
  }'

Get strategies:

curl http://127.0.0.1:8787/mcp \
  -H 'content-type: application/json' \
  -d '{
    "jsonrpc":"2.0",
    "id":2,
    "method":"tools/call",
    "params":{
      "name":"get_strategies",
      "arguments":{
        "challenge":"Find directions for a painting about absence, avoiding empty rooms and chairs.",
        "domain":"contemporary painting",
        "audience":"a gallery visitor who has seen many paintings about loss",
        "novelty":5,
        "count":3,
        "seed":"local-painting-test"
      }
    }
  }'

What a strategy looks like

{
  "operator": "bisociation",
  "operatorName": "Bisociation",
  "basis": "Cross-domain matrices",
  "whenToUse": "Your material feels coherent but predictable, and you want a collision rather than a refinement.",
  "theory": {
    "ids": ["koestler-bisociation", "boden-conceptual-spaces"],
    "status": "operationalized",
    "sources": ["Arthur Koestler (1964), The Act of Creation", "…"],
    "constructsImplemented": ["…"],
    "constructsOmitted": ["learned associative matrices", "…"]
  },
  "borrow": {
    "domain": "ant colony stigmergy",
    "distance": 5,
    "mechanism": "evaporating signals",
    "relation": "unused traces weaken while reinforced paths persist",
    "consequence": "memory is maintained by continued relevance",
    "roles": ["agent", "trace", "environment"]
  },
  "intent": "Make one element of your concept belong to two frames at once…",
  "identify": ["One element of your concept that will sit in both frames…"],
  "procedure": ["Describe your chosen element using only the conventions of…", "…"],
  "project": ["The relation \"unused traces weaken…\"", "…"],
  "suppress": ["ant colony stigmergy's vocabulary, imagery, and setting…"],
  "check": "If either description alone still fully explains your result, the frames have not collided…",
  "failureModes": ["ant colony stigmergy becomes decoration or simile rather than structure.", "…"],
  "questions": ["Which part of the relation is structural, and which is surface resemblance?"],
  "pushFurther": ["A minimal version that expresses only the bridging relationship.", "…"]
}

intent, identify, procedure, project, suppress, check, failureModes, questions, and pushFurther are all instructions addressed to you. The server performs none of them.

MCP capabilities

Tools

  • get_strategies — moves to execute against your own concept.
  • deepen_strategy — more moves inside one operator family, excluding the mechanism you already ran.
  • contrast_strategies — moves unlike everything you report having tried.
  • get_review_protocol — criteria, evidence, and questions for you to apply. Returns no verdicts.
  • list_operators — the catalogue with theory status and the situation each operator suits.

Resources

  • creativity://operators
  • creativity://theories
  • creativity://lenses
  • creativity://remote-domains
  • creativity://workflow

Prompt

  • run_strategy_session

Running a session

get_strategies        → pick one move
  ↓ complete its identify list against your own material
  ↓ run its procedure, honour its suppress list
  ↓ apply its check — if it fails, the move did not happen
deepen_strategy       → push that operator further
contrast_strategies   → leave the region entirely
get_review_protocol   → compare candidates yourself

Pass the strategy object you ran straight back into deepen_strategy or into the used array of contrast_strategies; both also accept a bare { operator, domain, mechanism }.

Review protocol

Generation is separate from judgment, and MeaningSpace does neither. get_review_protocol returns, per criterion, what to look for and a question to ask yourself:

{
  "lens": "fiction",
  "criteria": [
    {
      "id": "tension",
      "name": "Narrative tension",
      "lookFor": "Unresolved opposition, changed agency, or consequential incompatibility.",
      "askYourself": "What is at stake if the opposition resolves too early?"
    }
  ],
  "procedure": ["Assess each candidate against every criterion on its own, before comparing…"],
  "caution": "These are review aids. Nothing here measures creativity…"
}

Lenses: general, business, fiction, visual_art, prompt_design, research, education.

JSON API

All endpoints are free and unauthenticated:

GET  /api/health
GET  /api/operators
GET  /api/theories
GET  /api/lenses
GET  /api/domains
POST /api/v1/strategies
POST /api/v1/deepen
POST /api/v1/contrast
POST /api/v1/review-protocol
POST /mcp

MCP Inspector

Create mcp.local.json:

{
  "mcpServers": {
    "meaningspace-local": {
      "type": "http",
      "url": "http://127.0.0.1:8787/mcp"
    }
  }
}

Launch a current MCP Inspector release and choose meaningspace-local. To inspect the live deployment, swap the URL for https://meaningspace-mcp.alnx.workers.dev/mcp.

Test and validate

npm run check

That runs strict TypeScript, the unit and integration suite, the browser asset build, a real local HTTP MCP smoke test, and the determinism benchmark. The suite verifies, among other things:

  • deterministic output for a fixed seed;
  • that every operator returns a complete, executable playbook;
  • that no idea, score, verdict, or representation of the caller's concept appears in any response;
  • that procedures address the caller and name what they borrow;
  • that deepen_strategy stays in its family and excludes the mechanism already run;
  • that contrast_strategies avoids every move it was told about;
  • that the review protocol never leaks a ranking;
  • graceful degradation when the avoid lists exhaust the catalogue.

Deploy to Cloudflare

npm install
npx wrangler login
npm run deploy

No D1, KV, secrets, model provider, or payment account is required. APP_URL in wrangler.jsonc is optional: same-origin and localhost requests are allowed automatically.

Theory and claims

See THEORY.md for the implementation matrix and REFERENCES.bib for bibliographic data.

The intended claim for v0.5 is:

MeaningSpace is a deterministic, theory-traceable library of creative procedures, with an explicit account of which constructs from each cited theory it does and does not implement.

It does not claim to reproduce human cognition, to measure creativity, or to fully implement every cited theory. It makes no claim about the quality of what you produce with it.

Current limitations

  • The catalogue is hand-authored: eight operators and twenty-two source domains with two mechanisms each. Long sessions will exhaust it, and diagnostics.avoidanceRelaxed tells you when they have.
  • Source-domain distance is a catalogue constant, not measured against a corpus or an observer.
  • Operator selection is deterministic traversal, not a diagnosis of your brief. whenToUse is there for you to choose with; the server does not read your challenge.
  • Structure mapping is a procedure to follow, not a Structure-Mapping Engine.
  • Blending does not search recursive blend networks or formal optimality principles.
  • No empirical study has established that these procedures improve creative outcomes.

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选