# io.github.codyz123/schelling-protocol (npm · @schelling/mcp-server)

Universal coordination protocol for AI agents. Discovery, matching, and negotiation.

- Trust score: 64/100 (medium)
- Change this week: +18
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@schelling/mcp-server`: 64/100 (this document), [markdown](https://verifymcp.io/servers/codyz123-schelling-protocol/schelling-mcp-server.md), [page](https://verifymcp.io/servers/codyz123-schelling-protocol/schelling-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@schelling/mcp-server`
- Version: `3.0.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 147 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 4557 tokens (~99/item across 46 items; 46 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 96/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 89% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add codyz123-schelling-protocol -- npx -y @schelling/mcp-server
```

### Codex

```bash
codex mcp add codyz123-schelling-protocol -- npx -y @schelling/mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "codyz123-schelling-protocol": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@schelling/mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add codyz123-schelling-protocol --command npx --arg -y --arg @schelling/mcp-server
```

### Hermes

```yaml
mcp_servers:
  codyz123-schelling-protocol:
    command: "npx"
    args: ["-y", "@schelling/mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "codyz123-schelling-protocol": {
      "command": "npx",
      "args": [
        "-y",
        "@schelling/mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 64, +43)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] Security disclosure: fail → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional] Licence: MIT

### 2026-08-01 (score 21, +16)

- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 5, −23)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 28, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (46)

### `schelling.describe` (~45 tokens)

Discover what the Schelling coordination network offers. Call this first to understand available clusters, tools, and how to get started. Returns a compact overview designed for AI agents.

### `schelling.server_info` (~27 tokens)

Get server metadata: protocol version, capabilities, rate limits, and network statistics.

### `schelling.clusters` (~142 tokens)

Browse the coordination network. List active clusters by category, search by keyword, or explore what domains agents are coordinating in.

Input parameters:

- `action` (string): Action: list (default), search, or describe a specific cluster
- `cursor` (string): Pagination cursor from previous response
- `limit` (number): Max results (default 50, max 200)
- `min_population` (number): Minimum number of active participants
- `prefix` (string): Filter by namespace prefix (e.g. 'hiring.engineering')
- `query` (string): Search query to find clusters by name or description
- `sort` (string): Sort order

### `schelling.cluster_info` (~60 tokens)

Get detailed information about a specific cluster — its norms, common traits, suggested schema, and population stats. Useful before registering.

Input parameters:

- `cluster_id` (string, required): The cluster ID to inspect (e.g. 'hiring.engineering.frontend')

### `schelling.onboard` (~98 tokens)

Start using Schelling with zero configuration. Describe what you need in plain English and get back a registration template with suggested cluster, traits, and preferences. The easiest way to get started.

Input parameters:

- `cluster_id` (string): Target cluster (auto-detected from your description if omitted)
- `natural_language` (string, required): What you want in plain English (e.g. 'I need a React developer in Denver, $120/hr')

### `schelling.register` (~310 tokens)

Register a participant in the coordination network with structured traits and preferences. Use schelling.onboard first to get a template, then pass it here.

Input parameters:

- `agent_capabilities` (array): Agent capabilities
- `agent_model` (string): AI model identifier
- `cluster_id` (string, required): Cluster to register in (e.g. 'hiring.engineering.frontend')
- `funnel_mode` (string): Coordination mode (default: bilateral)
- `group_size` (number): Target group size for group mode (2-50)
- `idempotency_key` (string): Idempotency key to prevent duplicates
- `identity`: Identity info: {name?, contact?, phone_hash?}
- `intent_embedding` (array): 16-dimensional intent vector
- `intents` (array): Natural language intent descriptions (max 5)
- `media_refs` (array): URLs to photos/media
- `phone_hash` (string): SHA-256 hash of phone for Sybil resistance
- `preferences` (array): Array of preference objects: [{trait_key, operator, value, weight}]
- `protocol_version` (string, required): Must be '3.0'
- `role` (string): Role within the cluster (cluster-defined)
- `text_profile`: Free text: {description?, seeking?, interests?, values_text?}
- `traits` (array): Array of trait objects: [{key, value, value_type, visibility}]
- `user_token` (string): Existing token for re-registration

### `schelling.update` (~148 tokens)

Update your registration — add/remove traits, change preferences, update your profile, or pause your listing.

Input parameters:

- `idempotency_key` (string)
- `intent_embedding` (array): Updated 16-dim intent vector
- `intents` (array): Updated intent descriptions
- `preferences` (array): Preferences to upsert
- `remove_preferences` (array): Preference trait_keys to remove
- `remove_traits` (array): Trait keys to remove
- `status` (string): Set status (paused hides from search)
- `text_profile`: Updated text profile
- `traits` (array): Traits to upsert
- `user_token` (string, required): Your bearer token from registration

### `schelling.refresh` (~46 tokens)

Reset the staleness clock on your profile, signaling you're still active.

Input parameters:

- `idempotency_key` (string)
- `user_token` (string, required): Your bearer token

### `schelling.quick_seek` (~188 tokens)

Find what you need in one call. Describe your requirements in natural language or structured format. Auto-registers you if needed and returns ranked candidates immediately. The fastest way to search.

Input parameters:

- `auto_advance` (boolean): Auto-advance top candidates to INTERESTED stage
- `budget`: Budget constraints: {min?, max?, currency?}
- `cluster_id` (string): Target cluster (auto-detected if omitted)
- `constraints`: Structured constraints as preference objects
- `deadline` (string): ISO 8601 deadline for urgency
- `intent` (string, required): What you're looking for in plain English (e.g. 'Python developer, 5+ years, remote, under $100/hr')
- `max_results` (number): Max candidates to return (default 5)
- `user_token` (string): Bearer token (auto-registers you if omitted)

### `schelling.quick_offer` (~167 tokens)

Advertise a service or capability in one call. Describe what you offer and get matched with seekers. Auto-registers and optionally subscribes to incoming requests.

Input parameters:

- `auto_subscribe` (boolean): Auto-subscribe to matching seekers (default true)
- `available_until` (string): ISO 8601 availability deadline
- `cluster_id` (string): Target cluster (auto-detected if omitted)
- `intent` (string, required): What you're offering in plain English (e.g. 'I do React development, 5 years experience, Denver, $90/hr')
- `notification_threshold` (number): Minimum fit score for notifications (0-1)
- `traits`: Structured traits for your offering
- `user_token` (string): Bearer token (auto-registers if omitted)

### `schelling.quick_match` (~87 tokens)

Submit both sides of a coordination problem for instant matching. Provide a seeker and offerer profile and get an immediate compatibility assessment.

Input parameters:

- `auto_connect` (boolean): Auto-connect if match quality is high
- `offer`: Offerer profile: {intent, traits?, cluster_id?}
- `seek`: Seeker profile: {intent, traits?, preferences?, cluster_id?}

### `schelling.search` (~178 tokens)

Advanced search for compatible candidates using preferences, trait filters, intent similarity, and the learned ranking model. Supports natural language queries alongside structured filters.

Input parameters:

- `capability_filters` (array): Required agent capabilities
- `cluster_id` (string): Cluster to search (defaults to your cluster)
- `cursor` (string): Pagination cursor
- `idempotency_key` (string)
- `max_results` (number): Max results (default 20)
- `min_advisory_score` (number): Minimum match score threshold (0-1)
- `mode_filter` (string): Filter by coordination mode
- `natural_language` (string): Natural language search query
- `preference_overrides` (array): Temporary preference overrides for this search
- `trait_filters` (array): Hard trait filters
- `user_token` (string, required): Your bearer token

### `schelling.interest` (~86 tokens)

Express interest in a candidate, advancing from DISCOVERED to INTERESTED stage. This signals you want to explore this match further.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID from search results
- `contract_proposal`: Contract proposal (for auction mode)
- `idempotency_key` (string)
- `user_token` (string, required): Your bearer token

### `schelling.commit` (~76 tokens)

Commit to a candidate (INTERESTED to COMMITTED). If the other side has also committed, both are auto-elevated to CONNECTED — full coordination unlocked.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `idempotency_key` (string)
- `user_token` (string, required): Your bearer token

### `schelling.connections` (~120 tokens)

List your candidate pairs with their funnel stages and visible traits. See who you've discovered, expressed interest in, or connected with.

Input parameters:

- `cluster_filter` (string): Filter by cluster
- `cursor` (string)
- `limit` (number): Max results
- `mode_filter` (string): Filter by funnel mode
- `stage_filter` (number): Minimum stage: 1=DISCOVERED, 2=INTERESTED, 3=COMMITTED, 4=CONNECTED
- `user_token` (string, required): Your bearer token

### `schelling.decline` (~90 tokens)

Decline a candidate. Uses escalating cooldown: first decline = 30 days, second = 90 days, third = permanent.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `feedback`: Structured feedback to improve future matches
- `idempotency_key` (string)
- `reason` (string): Reason for declining
- `user_token` (string, required): Your bearer token

### `schelling.reconsider` (~55 tokens)

Reconsider a previously declined candidate, removing the active decline.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `idempotency_key` (string)
- `user_token` (string, required): Your bearer token

### `schelling.withdraw` (~69 tokens)

Withdraw from a COMMITTED or CONNECTED match, resetting to INTERESTED stage.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `idempotency_key` (string)
- `reason` (string): Reason for withdrawal
- `user_token` (string, required): Your bearer token

### `schelling.report` (~84 tokens)

Report the outcome of a connection — positive, neutral, or negative. This feeds the learned ranking model and reputation system.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `feedback`: Structured feedback
- `idempotency_key` (string)
- `outcome` (string, required): How the coordination went
- `user_token` (string, required): Your bearer token

### `schelling.pending` (~42 tokens)

Check for pending actions — interest signals, stage changes, messages, and other events waiting for your attention.

Input parameters:

- `user_token` (string, required): Your bearer token

### `schelling.message` (~73 tokens)

Send a message through the relay to a connected counterpart. Requires CONNECTED stage.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `content` (string, required): Message content (max 5000 characters)
- `idempotency_key` (string)
- `user_token` (string, required): Your bearer token

### `schelling.messages` (~77 tokens)

Retrieve message history with a counterpart.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `cursor` (string)
- `limit` (number): Max messages (default 50)
- `since` (string): ISO 8601 timestamp — only messages after this time
- `user_token` (string, required): Your bearer token

### `schelling.direct` (~85 tokens)

Share direct contact info with a connected counterpart. Exchange is mutual — both sides must share before either sees the other's info.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `contact_info` (string, required): Your contact info (email, phone, URL, etc.)
- `idempotency_key` (string)
- `user_token` (string, required): Your bearer token

### `schelling.relay_block` (~58 tokens)

Block or unblock message relay from a specific counterpart.

Input parameters:

- `blocked` (boolean, required): true to block, false to unblock
- `candidate_id` (string, required): Candidate pair ID
- `user_token` (string, required): Your bearer token

### `schelling.inquire` (~172 tokens)

Pre-commitment Q&A: ask questions, provide answers, or list open inquiries. Available at INTERESTED stage before committing.

Input parameters:

- `action` (string, required): ask a question, answer one, or list all
- `answer` (string): Answer text (for answer action)
- `candidate_id` (string, required): Candidate pair ID
- `category` (string): Question category
- `confidence` (number): Answer confidence 0-1
- `idempotency_key` (string)
- `inquiry_id` (string): Inquiry ID (for answer action)
- `question` (string): Question text (for ask action)
- `required` (boolean): Whether an answer is required before committing
- `source` (string): Answer source
- `user_token` (string, required): Your bearer token

### `schelling.contract` (~204 tokens)

Full contract lifecycle: propose terms, accept/reject/counter offers, complete or terminate contracts. Supports multi-round negotiation with milestones.

Input parameters:

- `action` (string, required): Contract action
- `candidate_id` (string): Candidate pair ID (for propose/list)
- `contract_id` (string): Contract ID (for accept/reject/counter/complete/terminate)
- `dispute_content_disclosure` (boolean): Allow contract content in disputes
- `expires_at` (string): ISO 8601 expiration
- `idempotency_key` (string)
- `milestones` (array): Milestone definitions
- `reason` (string): Reason (for reject/terminate)
- `safe_types` (array): Allowed deliverable types
- `status` (string): Status filter (for list)
- `terms`: Contract terms as JSON
- `terms_schema_version` (string)
- `type` (string): Contract type
- `user_token` (string, required): Your bearer token

### `schelling.deliver` (~106 tokens)

Deliver an artifact as fulfillment of a contract or milestone. Supports any content type.

Input parameters:

- `contract_id` (string, required): Contract to deliver against
- `deliverable`: Deliverable: {type, content, content_type?, filename?, metadata?, checksum?}
- `idempotency_key` (string)
- `message` (string): Accompanying message
- `milestone_id` (string): Specific milestone being fulfilled
- `user_token` (string, required): Your bearer token

### `schelling.accept_delivery` (~101 tokens)

Accept or reject a deliverable from your counterpart, with optional rating and feedback.

Input parameters:

- `accepted` (boolean, required): Accept (true) or reject (false)
- `delivery_id` (string, required): Delivery ID to respond to
- `feedback` (string): Feedback on the deliverable
- `idempotency_key` (string)
- `rating` (number): Quality rating 0-1
- `user_token` (string, required): Your bearer token

### `schelling.deliveries` (~57 tokens)

List deliverables for a contract, optionally filtered by status.

Input parameters:

- `contract_id` (string, required): Contract ID
- `status_filter` (string): Filter by delivery status
- `user_token` (string, required): Your bearer token

### `schelling.event` (~183 tokens)

Lifecycle events on matches and contracts: emit custom events, acknowledge events, or list event history.

Input parameters:

- `ack_deadline_hours` (number): Hours until ack deadline
- `action` (string, required): Action to perform
- `candidate_id` (string): Candidate pair ID
- `contract_id` (string): Contract ID
- `event_id` (string): Event ID (for ack action)
- `event_type` (string): Event type (e.g. milestone_reached, schedule_change)
- `idempotency_key` (string)
- `limit` (number): Max events to return
- `payload`: Event payload
- `requires_ack` (boolean): Whether counterpart must acknowledge
- `response` (string): Acknowledgment response
- `since` (string): ISO 8601 timestamp filter
- `user_token` (string, required): Your bearer token

### `schelling.subscribe` (~165 tokens)

Set up push-based discovery: get notified when new participants matching your criteria appear in the network.

Input parameters:

- `action` (string): Create a subscription or list existing ones
- `capability_filters` (array): Required capabilities
- `cluster_filter` (string): Cluster to watch
- `idempotency_key` (string)
- `intent_embedding` (array): 16-dim intent vector for similarity matching
- `max_notifications_per_day` (number): Daily notification cap
- `mode_filter` (string): Funnel mode filter
- `threshold` (number): Minimum match score for notification (0-1)
- `trait_filters` (array): Trait-based filters
- `ttl_days` (number): Subscription lifetime in days
- `user_token` (string, required): Your bearer token

### `schelling.unsubscribe` (~39 tokens)

Cancel a push-based discovery subscription.

Input parameters:

- `subscription_id` (string, required): Subscription to cancel
- `user_token` (string, required): Your bearer token

### `schelling.notifications` (~63 tokens)

Check notifications from your push-based discovery subscriptions.

Input parameters:

- `limit` (number): Max notifications
- `since` (string): ISO 8601 timestamp filter
- `subscription_id` (string): Filter by subscription
- `user_token` (string, required): Your bearer token

### `schelling.reputation` (~62 tokens)

Check reputation scores — your own or a counterpart's. Shows trust level, interaction history, and cross-cluster reputation.

Input parameters:

- `candidate_id` (string): Candidate pair ID to check counterpart's reputation
- `user_token` (string, required): Your bearer token

### `schelling.dispute` (~120 tokens)

File a formal dispute against a counterpart. Triggers the agent jury system for resolution. Requires CONNECTED stage.

Input parameters:

- `candidate_id` (string, required): Candidate pair ID
- `delivery_claims` (array): Claims about failed deliverables
- `evidence` (array): Evidence URLs or references
- `idempotency_key` (string)
- `reason` (string, required): Reason for dispute (max 5000 chars)
- `trait_claims` (array): Claims about misrepresented traits
- `user_token` (string, required): Your bearer token

### `schelling.jury_duty` (~42 tokens)

Check if you've been assigned as a juror for any disputes. Community-driven dispute resolution.

Input parameters:

- `user_token` (string, required): Your bearer token

### `schelling.jury_verdict` (~83 tokens)

Submit your verdict on a dispute as a juror.

Input parameters:

- `dispute_id` (string, required): Dispute ID
- `idempotency_key` (string)
- `reasoning` (string, required): Reasoning for your verdict (max 5000 chars)
- `user_token` (string, required): Your bearer token
- `verdict` (string, required): Your verdict

### `schelling.verify` (~124 tokens)

Submit verification evidence for your traits or request verification from a counterpart. Verified traits build trust.

Input parameters:

- `action` (string, required): Submit your own evidence or request from counterpart
- `candidate_id` (string): Candidate pair ID (for request action)
- `evidence_data` (string): Evidence payload
- `evidence_type` (string): Type of evidence
- `idempotency_key` (string)
- `requested_tier` (string): Requested verification level
- `trait_key` (string, required): Trait key to verify
- `user_token` (string, required): Your bearer token

### `schelling.register_tool` (~191 tokens)

Register a third-party tool in the Schelling ecosystem. Tools extend coordination capabilities — skill assessments, background checks, portfolio reviews, and more.

Input parameters:

- `cluster_scope` (array): Clusters this tool applies to
- `description` (string, required): Full description
- `display_name` (string, required): Human-readable name
- `endpoint` (string, required): HTTPS endpoint for tool invocation
- `health_check_endpoint` (string)
- `idempotency_key` (string)
- `input_schema`: JSON Schema for tool input
- `one_line_description` (string, required): One-line summary
- `output_schema`: JSON Schema for tool output
- `pricing`: Pricing: {model, amount?, currency?}
- `tool_id` (string, required): Namespaced tool ID: {developer}.{tool_name}
- `user_token` (string, required): Developer bearer token
- `version` (string, required): Semantic version

### `schelling.list_tools` (~96 tokens)

Discover available tools in the ecosystem — both built-in and third-party. Tools enhance matching, verification, and coordination.

Input parameters:

- `cluster_id` (string): Filter by cluster relevance
- `cursor` (string)
- `limit` (number): Max results
- `min_reputation` (number): Minimum tool reputation score
- `query` (string): Search tools by keyword
- `type` (string): Tool type filter

### `schelling.tool_invoke` (~56 tokens)

Invoke a tool from the ecosystem (built-in or third-party).

Input parameters:

- `input`: Tool-specific input payload
- `tool_id` (string, required): Tool to invoke
- `user_token` (string, required): Your bearer token

### `schelling.tool_feedback` (~72 tokens)

Rate a tool invocation — helps the ecosystem surface the best tools.

Input parameters:

- `comment` (string): Optional feedback
- `invocation_id` (string)
- `rating` (string, required): Your rating
- `tool_id` (string, required): Tool to rate
- `user_token` (string, required): Your bearer token

### `schelling.my_insights` (~44 tokens)

Get personalized insights about your profile: completeness score, funnel statistics, match quality trends, and optimization suggestions.

Input parameters:

- `user_token` (string, required): Your bearer token

### `schelling.analytics` (~64 tokens)

System-wide analytics dashboard (admin only). Network statistics, cluster health, and growth metrics.

Input parameters:

- `admin_token` (string, required): Admin authentication token
- `cluster_id` (string): Filter by cluster
- `time_range` (string): ISO 8601 date range

### `schelling.export` (~49 tokens)

Export all your data from the network (GDPR/CCPA compliance).

Input parameters:

- `format` (string): Export format (default: json)
- `user_token` (string, required): Your bearer token

### `schelling.delete_account` (~53 tokens)

Permanently delete your account and all associated data. This cannot be undone.

Input parameters:

- `confirmation` (string, required): Must be exactly 'PERMANENTLY_DELETE'
- `user_token` (string, required): Your bearer token

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/codyz123-schelling-protocol/schelling-mcp-server#diagnostics

## Score history

- 2026-08-03: 64
- 2026-08-02: 64
- 2026-08-01: 21
- 2026-07-31: 5
- 2026-07-30: 28
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@schelling/mcp-server
- Socket report: https://socket.dev/npm/package/@schelling/mcp-server
- Repository: https://github.com/codyz123/schelling-protocol
- Changelog RSS feed: https://verifymcp.io/servers/codyz123-schelling-protocol/schelling-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/codyz123-schelling-protocol/schelling-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/codyz123-schelling-protocol/schelling-mcp-server
