Openbook
OpenBook MCP Server โ Search and publish structured community reviews via Model Context Protocol
Ask AI about Openbook
Powered by Claude ยท Grounded in docs
I know everything about Openbook. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
OpenBook
An open, non-commercial, schema-driven review platform built for AI Agents and humans.
Globally Connected, Locally Owned.
Information should be equal. Reviews should be structured. Everyone deserves access to honest, high-quality, machine-readable community knowledge โ without algorithms, ads, or gatekeepers.
The Problem We're Solving
In short: in today's anonymous society, the cost of bad behavior is too low.
In a close-knit community, reputation is an invisible constraint. But in a city of millions, a lack of trust between strangers allows landlords, employers, and businesses to act maliciously and escape consequences. The cost of legal action is high, and public outrage lasts only three days.
OpenBook's answer isn't another exposure platform, but rather rebuilding the reputation infrastructure for an anonymous society.
We can't change the law, but we can make information about behavior persistent, searchable, and immutable. When a person's negative record can be easily found, the expected gain from misconduct drops significantly.
To ensure the credibility of information, we introduce the Evidence Hash. Users don't need to upload private chat logs or contracts; they simply submit the SHA-256 hash of the file. This hash is permanently recorded on the blockchain, allowing anyone to independently verify the authenticity and timestamp of the evidence, while the original file remains in the user's hands, protecting their privacy.
This is the core of OpenBook: a decentralized reputation system based on verifiable evidence.
Why OpenBook?
Today's review platforms are broken. Yelp, social platforms, and Google Reviews all share the same fundamental problems: recommendation algorithms bury honest voices, commercial interests distort rankings, and unstructured text makes it nearly impossible for AI Agents to extract precise, actionable information.
OpenBook takes a radically different approach:
| Traditional Platforms | OpenBook |
|---|---|
| Algorithms decide what you see | You query exactly what you need |
| Unstructured text, hard to parse | Schema-driven structured data |
| Centralized, one company controls all | Globally Connected, Locally Owned |
| Registration required | No registration, no accounts |
| Commercial, ad-driven | Non-commercial, community-driven |
| Humans fill forms | AI Agents collect data through conversation |
Core Principles
1. Globally Connected, Locally Owned
OpenBook is not a centralized platform โ it is a unified data network composed of self-governing communities. Each community โ whether a university, a city, or an interest group โ has full editorial authority over its own content, while contributing value to the entire network.
Data is not locked in any platform. Information flows freely. Communities own their voice.
2. Information Equality
Every review is stored as a plain file in a public Git repository. No paywalls, no premium tiers, no "boost your listing" schemes. The data belongs to the community, not a corporation. Anyone can read it, any Agent can query it, and no algorithm decides who sees what.
3. Structured Data, Not Noise
Every review category is defined by a YAML Schema that enforces quality. A housing review must include rent, noise level, renovation condition, and landlord rating. A restaurant review must include cuisine, price per person, and taste rating. This is not a BBS where people write "nice place lol" โ this is structured, queryable, high-quality data.
4. Agent-Native, Human-Friendly
OpenBook is designed from the ground up for AI Agents (OpenClaw, Manus, and any future Agent). The SKILL.md file teaches any Agent how to read schemas, collect data through natural conversation, validate entries, and perform precise structured queries. Ordinary users never touch Git, JSON, or YAML โ they just talk to their Agent.
5. Non-Commercial Forever
OpenBook is and will always be non-commercial. No ads, no sponsored reviews, no data selling. The code is MIT licensed. The data is community-owned. This is a public good, not a business.
Distributed Governance
OpenBook uses a "Unified Repository + Distributed Governance" model. We do not recommend creating independent forks for each school or city, as this would create data silos. Instead, every community becomes a self-governing node within the unified OpenBook network.
How It Works
- Apply to join: Open a discussion in GitHub Discussions and rally early contributors from your school or city.
- Get your own space: The core team creates a dedicated data directory (e.g.,
/data/mit/) and a maintainer team (e.g.,@mit-maintainers). - Self-govern: Through GitHub's
CODEOWNERS, your maintainer team has full review and merge authority over your directory. Your turf, your rules.
# .github/CODEOWNERS
# MIT community owns their content
/data/mit/ @mit-maintainers
# Stanford community owns their content
/data/stanford/ @stanford-maintainers
# Seattle community owns their content
/data/seattle/ @seattle-maintainers
This way, your community maintains full autonomy while contributing to the global OpenBook data network. No data silos. No central bottleneck. Maximum network effect.
Core Concepts
Signal: A Timestamped Observation
A Signal is a single, structured observation about a place, a person, or an event. It's the basic unit of data in OpenBook. Each Signal is a Markdown file with a YAML frontmatter, containing structured data like ratings, location, and other relevant fields.
Entity: A Profile for People, Places, and Organizations
An Entity is a profile that aggregates multiple Signals related to a single person (e.g., a landlord), organization (e.g., a company), or place. This allows us to build a longitudinal history of behavior and reputation over time. For example, all signals related to a specific landlord are linked to their Entity profile, creating a verifiable track record.
Evidence Hash: Verifiable Proof
To enhance the credibility of Signals, especially for sensitive claims like a landlord withholding a deposit, we introduce the concept of an Evidence Hash. Instead of uploading sensitive documents (like chat screenshots or contracts), users can provide a cryptographic hash (e.g., SHA-256) of the evidence file. This hash is stored publicly.
How It Works
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User (ๆฎ้็จๆท) โ
โ "I want to review my apartment" โ
โ "ๅธฎๆๆพๆณๆ็ๅฅฝๅ็็ซ้
" โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Natural language conversation
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI Agent (OpenClaw / Manus) โ
โ 1. Reads SKILL.md โ understands how to operate OpenBook โ
โ 2. Reads schemas/*.yml โ knows what data to collect โ
โ 3. Guides user through conversation โ collects structured โ
โ 4. Validates data โ saves as JSON โ commits to repo โ
โ 5. Queries _index.json โ returns precise results โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Structured JSON read/write
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ GitHub Repository (ๆฐๆฎไปๅบ) โ
โ schemas/housing.yml โ defines what to collect โ
โ data/housing/*.json โ structured review data โ
โ _index.json โ searchable index โ
โ SKILL.md โ Agent instruction manual โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Built-in Categories
| Category | Schema | Key Fields |
|---|---|---|
| Housing Reviews | schemas/housing.yml | rent, noise, light, renovation, landlord, amenities |
| Restaurant Reviews | schemas/food.yml | cuisine, price, taste, service, environment, must-try dishes |
| Job Interviews | schemas/jobs.yml | company, position, difficulty, result, salary, tips |
Quick Start
Option A: MCP Server via npm (Recommended)
One command to run the OpenBook MCP Server. Works with Claude Desktop, Cursor, and any MCP-compatible client.
# Clone this repo first
git clone https://github.com/josephliver623/OpenBook.git
cd OpenBook
# Run with npx (no install needed)
npx openbook-mcp
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"openbook": {
"command": "npx",
"args": ["-y", "openbook-mcp", "./OpenBook"]
}
}
}
Alternative: Python MCP Server
pip install "mcp[cli]" pyyaml
python mcp-server/openbook_mcp.py ./OpenBook
Then just talk to Claude: "I want to review my apartment".
Option B: Agent Skills via ClawHub
OpenBook is published on ClawHub โ the skill registry for AI Agents. Install with one command:
clawhub install openbook
For Agent platforms that support Skills (Manus, OpenClaw, etc.), the Agent will automatically read SKILL.md and gain the ability to search and publish reviews.
Alternatively, clone this repo manually:
git clone https://github.com/josephliver623/OpenBook.git
Option C: Join an Existing Community
Want to contribute to your school or city? Check if a community already exists in data/, or start a new one:
- Open a discussion in GitHub Discussions
- Rally 3+ contributors from your school/city
- Get your own
data/{community}/directory and maintainer team - Start contributing with full editorial autonomy
Why Structured Data Beats Algorithms
When you search for an apartment on traditional platforms, you get a wall of text filtered by an opaque algorithm. You have to read through dozens of reviews to figure out if a place is quiet, if the landlord is responsive, if the rent is reasonable.
With OpenBook, your Agent can do this in one query:
# Find quiet apartments in East Village under $3000
jq '[.[] | select(._schema=="housing" and .neighborhood=="East Village"
and .noise_level<=2 and .rent_monthly<3000)]' _index.json
The result is instant, precise, and complete โ because every review is structured data, not a blob of text that an LLM has to guess at.
Signals: Real-time Atomic Updates
Reviews tell you what a place is like. Signals tell you what just changed.
Traditional reviews are one-time snapshots. But the real world changes daily โ a cafรฉ gets a new barista, a restaurant raises prices, construction starts outside an apartment. These small but critical changes are exactly what Agents need for decision-making.
What is a Signal?
A Signal is an atomic, time-stamped observation โ a single fact about a change or discovery:
Review: "This cafe is generally good, great pour-over, quiet environment" (written once)
Signal: "New Yirgacheffe beans as of 2026-03-10, more fruity notes" (added anytime)
Signal: "Very few people on Thursday afternoons, good for work" (added anytime)
Signal: "Americano price increased from ยฅ28 to ยฅ32" (added anytime)
Signal Types
| Type | Example |
|---|---|
price_change | "Americano price increased from ยฅ28 to ยฅ32" |
staff_change | "New barista, latte art improved" |
menu_change | "Added oat milk latte" |
quality_change | "Recent output has been unstable" |
hours_change | "Now opens at 10:00 AM on weekends" |
address_change | "Moved next door, address updated" |
closure | "Temporarily closed for renovation" |
opening | "New specialty coffee shop opened on Yuyuan Road" |
tip | "Buy one get one free on Wednesdays" |
warning | "Cleanliness has declined, be aware" |
update | "WiFi password has changed" |
Why Signals Matter for Agents
Agent Query: "Any good cafes near Yuyuan Road in Shanghai?"
Traditional way: Returns a 6-month-old review โ possibly outdated
OpenBook way: Returns review + signals from the last 30 days โ real-time and accurate
Agent sees:
Review: "Seesaw Coffee has good pour-over, 4.5/5" (2025-12)
Signal: "New barista, latte art improved" (2026-03-10) โ Latest change
Signal: "Americano price increased to ยฅ32" (2026-03-15) โ Price update
Signals are the heartbeat of OpenBook โ they keep data alive and current.
Contributing Signals
Signals are designed to be ultra-low-friction. You can contribute a Signal in one sentence:
"Seesaw on Yuyuan Road got new beans, very floral"
That's it. The system extracts the structured fields automatically.
Add Custom Categories
# Copy an existing schema as template
cp schemas/food.yml schemas/gym.yml
# Edit schemas/gym.yml to define your fields
# Create the data directory
mkdir data/gym
Schema fields support:
| Property | Description |
|---|---|
type | Data type: string, number, list, text, date |
required | Whether the field is mandatory |
agent_prompt | The question the Agent asks the user |
enum / options | Allowed values for constrained fields |
min / max | Numeric range constraints |
labels | Human-readable labels for enum values |
The OpenBook Ecosystem
Every community in OpenBook shares the same SKILL.md protocol and schema system. This means any Agent that understands OpenBook can operate across all communities:
OpenBook (unified repository)
โ
โโโ data/seattle/ (Seattle community โ @seattle-maintainers)
โโโ data/nyc/ (NYC community โ @nyc-maintainers)
โโโ data/mit/ (MIT community โ @mit-maintainers)
โโโ data/stanford/ (Stanford community โ @stanford-maintainers)
โโโ data/housing/ (Global housing reviews)
โโโ data/food/ (Global food reviews)
โโโ data/jobs/ (Global job interviews)
โโโ data/signals/ (Real-time signals)
Project Structure
โโโ SKILL.md # Agent instruction manual (top-level)
โโโ README.md # This file
โโโ schemas/ # Category definitions (YAML Schema)
โ โโโ housing.yml # Housing review schema
โ โโโ food.yml # Restaurant review schema
โ โโโ jobs.yml # Job interview schema
โโโ data/ # Review & Signal data (Markdown files)
โ โโโ housing/
โ โโโ food/
โ โโโ jobs/
โ โโโ signals/ # Real-time atomic signals
โโโ _index.json # Global index (auto-generated)
โโโ assets/ # Project assets
โ โโโ logo.png # OpenBook logo
โโโ mcp-server/ # MCP Server for Claude/Cursor
โ โโโ openbook_mcp.py # Python MCP server
โ โโโ npm-src/index.ts # TypeScript MCP server (npm)
โ โโโ npm-package.json # npm package config
โ โโโ requirements.txt # Python dependencies
โ โโโ README.md # MCP setup guide
โโโ skills/ # Agent Skills
โ โโโ openbook/
โ โโโ SKILL.md # Detailed skill for Agent platforms
โโโ scripts/
โ โโโ build_index.py # Index builder
โ โโโ validate.py # Data validator
โโโ .github/
โ โโโ CODEOWNERS # Distributed governance rules
โ โโโ workflows/
โ โโโ on-push.yml # CI: validate + rebuild index
โโโ LICENSE
Contributing
OpenBook is a community project. You can contribute by:
- Publishing reviews โ Share your honest experiences through your Agent
- Starting a community โ Rally contributors from your school or city and apply for your own space
- Becoming a maintainer โ Contribute 10+ reviewed entries, then apply to become a community maintainer
- Adding schemas โ Define new review categories
- Improving the codebase โ PRs welcome for scripts, CI, and SKILL.md
- Spreading the word โ Tell others about information equality
License
MIT โ Use it, fork it, build on it. Free forever.

OpenBook โ Globally Connected, Locally Owned.
Website ยท npm ยท GitHub
