omoshiro-mcp

omoshiro-mcp

Research-grounded MCP server that provides evaluation lenses and conceptual boundaries for analyzing interestingness, enabling AI to assess humor, curiosity, and suspense without scoring content.

Category
Visit Server

README

omoshiro-mcp

Research-grounded MCP server for analyzing interestingness / 面白さ.

This server does not score content. It returns evaluation lenses, conceptual boundaries, interaction patterns, and research references so that the calling AI can perform the analysis itself.

Principle

Returns evaluation lenses; does not score content.

The ontology separates:

  • Primitive lenses: constructs an AI can inspect directly or relative to an audience model
  • Derived dynamics: changes over time such as prediction error or uncertainty reduction
  • Composite states/mechanisms: interest, curiosity, suspense, humor, insight, flow, awe, transportation
  • Outcomes: enjoyment, attention, memory, learning, persistence, etc.

This avoids collapsing everything into one meaningless interestingness_score.

MCP endpoint

When deployed on Vercel, use:

https://<your-project>.vercel.app/mcp

Protocol: MCP Streamable HTTP / JSON-RPC.

Tools

get_lenses

Returns a curated set of primitive lenses for a target.

Example arguments:

{
  "target_type": "oogiri",
  "analysis_goal": "humor"
}

search_lenses

Searches primitive and composite constructs by natural-language terms.

{
  "query": "unexpected but understandable"
}

get_lens

Returns the definition, diagnostic questions, conceptual boundaries, applicability, and inferability of a primitive lens.

{"id":"novelty"}

get_composite

Returns a composite mechanism/state and its input constructs.

{"id":"suspense"}

list_ontology

Lists the full ontology and core references.

Core primitive lenses

Current v0.1 includes 21 primitives:

  • novelty
  • complexity
  • comprehensibility
  • processing_fluency
  • relevance
  • information_gap
  • knowability
  • uncertainty
  • expectation_strength
  • outcome_significance
  • conflict_instability
  • violation
  • benignness
  • vastness
  • accommodation_demand
  • challenge
  • competence
  • control
  • autonomy
  • feedback_clarity
  • relatedness

Derived dynamics

  • prediction_error
  • information_gain
  • uncertainty_reduction
  • gap_resolution
  • conflict_resolution
  • comprehension_gain
  • fluency_gain
  • mastery_progress

Composite mechanisms / states

  • interest
  • curiosity
  • suspense
  • humor_benign_violation
  • humor_incongruity_resolution
  • insight
  • flow
  • awe
  • transportation

A composite is not a score. For example:

Interest ≈ novelty/complexity × sufficient comprehensibility
Curiosity ≈ information gap × knowability × relevance × uncertainty
Suspense ≈ uncertainty × expectation strength × outcome significance
Benign-violation humor ≈ violation × benignness
Awe ≈ vastness × accommodation demand

These are conceptual patterns, not validated universal equations.

Inferability

Each lens includes an inferability field:

  • direct: can often be inspected from the content itself
  • audience_model_required: depends on prior knowledge, culture, genre expectations, etc.
  • experience_required: actual psychological state should not be asserted without audience/player evidence

For example, novelty is audience-relative, while actual flow or transportation cannot be reliably asserted just by reading the artifact.

Example workflow

User asks:

こんなエンジニアは嫌だ。どんなエンジニア?
回答:キーボードがでかすぎて部屋に入らない

Calling AI:

  1. calls get_lenses({ target_type: "oogiri", analysis_goal: "humor" })
  2. receives lenses such as expectation_strength, violation, benignness, novelty, comprehensibility, processing_fluency
  3. performs the actual analysis itself
  4. does not ask the MCP to output a humor score

Research basis

The v0.1 ontology is informed by work including:

  • Silvia, P. J. (2005). What Is Interesting? Exploring the Appraisal Structure of Interest. Emotion.
  • Loewenstein, G. (1994). The Psychology of Curiosity: A Review and Reinterpretation. Psychological Bulletin.
  • Kang, M. J. et al. (2009). The Wick in the Candle of Learning: Epistemic Curiosity Activates Reward Circuitry and Enhances Memory. Psychological Science.
  • Reber, R., Schwarz, N., & Winkielman, P. (2004). Processing Fluency and Aesthetic Pleasure. Personality and Social Psychology Review.
  • McGraw, A. P. & Warren, C. (2010). Benign Violations: Making Immoral Behavior Funny. Psychological Science.
  • Keltner, D. & Haidt, J. (2003). Approaching Awe, a Moral, Spiritual, and Aesthetic Emotion. Cognition and Emotion.
  • Ryan, R. M., Rigby, C. S., & Przybylski, A. (2006). The Motivational Pull of Video Games. Motivation and Emotion.
  • Busselle, R. & Bilandzic, H. (2009). Measuring Narrative Engagement. Media Psychology.

The ontology is an engineering synthesis across these literatures, not a claim that one paper defines the complete structure.

Development

The server is intentionally dependency-light and implemented as a Vercel serverless endpoint in api/mcp.js.

A GET request to /mcp returns server metadata. MCP clients should use POST JSON-RPC requests for initialize, tools/list, and tools/call.

License

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured