{
  "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
  "name": "com.hangingcontext/mcp",
  "title": "Hanging Context",
  "version": "2.0.0",
  "cardVersion": "1.0",
  "protocolVersion": "2025-11-25",
  "serverInfo": {
    "name": "hangingcontext",
    "title": "Hanging Context",
    "version": "2.0.0"
  },
  "description": "Fresh, cited stories for agents. Free. No key.",
  "longDescription": "Read Hanging Context stories. Search them, or get only the new stories since your last call. Each fact cites a Synorb Manifest. No key is necessary.",
  "serverUrl": "https://hangingcontext.com/mcp",
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://hangingcontext.com/mcp"
    }
  ],
  "instructions": "Hanging Context publishes fresh context for agents. It is free and needs no key. Call hc_ask with a question to start. Call hc_since with a cursor to get only new stories. Each story cites Synorb Manifests. Call hc_sources to check them.",
  "websiteUrl": "https://hangingcontext.com/mcp/",
  "documentationUrl": "https://hangingcontext.com/mcp/",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://hangingcontext.com/mcp"
  },
  "authentication": {
    "required": false
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    },
    "prompts": {
      "listChanged": false
    },
    "resources": {
      "subscribe": true,
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "hc_ask",
      "title": "hc_ask",
      "description": "Answer a question from recent stories. Ranks stories by keyword match and copies the best key facts word for word. Returns up to 5 facts, each with its story URL and Manifest ids, and the matched stories. If nothing matches, returns no_match true and suggestions. It does not use an LLM. This is a good first call.",
      "inputSchema": {
        "required": [
          "question"
        ],
        "properties": {
          "question": {
            "description": "Your question in plain words.",
            "title": "Question",
            "type": "string"
          },
          "topic": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Topic id. Call hc_topics for the list. Leave empty for all topics.",
            "title": "Topic"
          },
          "days": {
            "default": 7,
            "description": "How many days back to search. From 1 to 30.",
            "title": "Days",
            "type": "integer"
          },
          "limit": {
            "default": 5,
            "description": "Maximum number of results. From 1 to 100.",
            "title": "Limit",
            "type": "integer"
          }
        },
        "title": "hc_askArguments",
        "type": "object"
      },
      "outputSchema": {
        "$defs": {
          "Fact": {
            "additionalProperties": true,
            "properties": {
              "text": {
                "title": "Text",
                "type": "string"
              },
              "story_url": {
                "title": "Story Url",
                "type": "string"
              },
              "story_slug": {
                "title": "Story Slug",
                "type": "string"
              },
              "headline": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Headline"
              },
              "published_at": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Published At"
              },
              "manifest_ids": {
                "default": [],
                "items": {
                  "type": "string"
                },
                "title": "Manifest Ids",
                "type": "array"
              }
            },
            "required": [
              "text",
              "story_url",
              "story_slug"
            ],
            "title": "Fact",
            "type": "object"
          },
          "StoryRow": {
            "additionalProperties": true,
            "properties": {
              "slug": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Slug"
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Url"
              },
              "headline": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Headline"
              },
              "dek": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Dek"
              },
              "newsroom": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Newsroom"
              },
              "beat": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Beat"
              },
              "published_at": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Published At"
              },
              "trust": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Trust"
              },
              "source_count": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Source Count"
              },
              "cited_manifest_ids": {
                "anyOf": [
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Cited Manifest Ids"
              }
            },
            "title": "StoryRow",
            "type": "object"
          }
        },
        "additionalProperties": true,
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Error"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Step"
          },
          "freshness": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Freshness"
          },
          "reuse": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Reuse"
          },
          "from_synorb": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "From Synorb"
          },
          "question": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Question"
          },
          "no_match": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "No Match"
          },
          "facts": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/$defs/Fact"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Facts"
          },
          "stories": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/$defs/StoryRow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Stories"
          },
          "suggestions": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Suggestions"
          }
        },
        "title": "AskOut",
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "hc_latest",
      "title": "hc_latest",
      "description": "Get the latest stories, newest first. Filter by topic or beat. Returns up to 20 stories with headline, dek, topic, URL and Manifest ids.",
      "inputSchema": {
        "required": [],
        "properties": {
          "topic": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Topic id. Call hc_topics for the list. Leave empty for all topics.",
            "title": "Topic"
          },
          "beat": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Beat id inside a topic. Call hc_topics for the list.",
            "title": "Beat"
          },
          "limit": {
            "default": 20,
            "description": "Maximum number of results. From 1 to 100.",
            "title": "Limit",
            "type": "integer"
          }
        },
        "title": "hc_latestArguments",
        "type": "object"
      },
      "outputSchema": {
        "$defs": {
          "StoryRow": {
            "additionalProperties": true,
            "properties": {
              "slug": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Slug"
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Url"
              },
              "headline": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Headline"
              },
              "dek": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Dek"
              },
              "newsroom": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Newsroom"
              },
              "beat": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Beat"
              },
              "published_at": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Published At"
              },
              "trust": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Trust"
              },
              "source_count": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Source Count"
              },
              "cited_manifest_ids": {
                "anyOf": [
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Cited Manifest Ids"
              }
            },
            "title": "StoryRow",
            "type": "object"
          }
        },
        "additionalProperties": true,
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Error"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Step"
          },
          "freshness": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Freshness"
          },
          "reuse": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Reuse"
          },
          "from_synorb": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "From Synorb"
          },
          "count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Count"
          },
          "edition": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Edition"
          },
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Query"
          },
          "stories": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/$defs/StoryRow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Stories"
          }
        },
        "title": "StoriesOut",
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "hc_since",
      "title": "hc_since",
      "description": "Get only the stories that are new since your last call. Send the cursor from the last response. If you send no cursor, the call returns the current cursor and no stories. Returns up to 50 stories with next_cursor and has_more.",
      "inputSchema": {
        "required": [],
        "properties": {
          "cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The next_cursor value from your last hc_since call. Leave empty to get the current cursor.",
            "title": "Cursor"
          },
          "topic": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Topic id. Call hc_topics for the list. Leave empty for all topics.",
            "title": "Topic"
          },
          "limit": {
            "default": 50,
            "description": "Maximum number of results. From 1 to 100.",
            "title": "Limit",
            "type": "integer"
          }
        },
        "title": "hc_sinceArguments",
        "type": "object"
      },
      "outputSchema": {
        "$defs": {
          "StoryRow": {
            "additionalProperties": true,
            "properties": {
              "slug": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Slug"
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Url"
              },
              "headline": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Headline"
              },
              "dek": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Dek"
              },
              "newsroom": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Newsroom"
              },
              "beat": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Beat"
              },
              "published_at": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Published At"
              },
              "trust": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Trust"
              },
              "source_count": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Source Count"
              },
              "cited_manifest_ids": {
                "anyOf": [
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Cited Manifest Ids"
              }
            },
            "title": "StoryRow",
            "type": "object"
          }
        },
        "additionalProperties": true,
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Error"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Step"
          },
          "freshness": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Freshness"
          },
          "reuse": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Reuse"
          },
          "from_synorb": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "From Synorb"
          },
          "count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Count"
          },
          "stories": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/$defs/StoryRow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Stories"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Cursor"
          },
          "has_more": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Has More"
          }
        },
        "title": "SinceOut",
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "hc_search",
      "title": "hc_search",
      "description": "Search recent stories by keyword. The ranking uses keyword match only. Returns up to 20 stories with headline, dek, topic, URL, Manifest ids and score.",
      "inputSchema": {
        "required": [
          "query"
        ],
        "properties": {
          "query": {
            "description": "One or more keywords.",
            "title": "Query",
            "type": "string"
          },
          "topic": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Topic id. Call hc_topics for the list. Leave empty for all topics.",
            "title": "Topic"
          },
          "since_hours": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Only stories from the last N hours. Leave empty for all.",
            "title": "Since Hours"
          },
          "limit": {
            "default": 20,
            "description": "Maximum number of results. From 1 to 100.",
            "title": "Limit",
            "type": "integer"
          }
        },
        "title": "hc_searchArguments",
        "type": "object"
      },
      "outputSchema": {
        "$defs": {
          "StoryRow": {
            "additionalProperties": true,
            "properties": {
              "slug": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Slug"
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Url"
              },
              "headline": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Headline"
              },
              "dek": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Dek"
              },
              "newsroom": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Newsroom"
              },
              "beat": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Beat"
              },
              "published_at": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Published At"
              },
              "trust": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Trust"
              },
              "source_count": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Source Count"
              },
              "cited_manifest_ids": {
                "anyOf": [
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Cited Manifest Ids"
              }
            },
            "title": "StoryRow",
            "type": "object"
          }
        },
        "additionalProperties": true,
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Error"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Step"
          },
          "freshness": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Freshness"
          },
          "reuse": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Reuse"
          },
          "from_synorb": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "From Synorb"
          },
          "count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Count"
          },
          "edition": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Edition"
          },
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Query"
          },
          "stories": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/$defs/StoryRow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Stories"
          }
        },
        "title": "StoriesOut",
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "hc_get_story",
      "title": "hc_get_story",
      "description": "Read one story. Use format `brief` for the headline, dek and key facts. Use format `full` for the whole story as Markdown. Use format `claims` for key facts and paragraphs as JSON, each with its Manifest ids. Returns the story in that format and up to 3 related stories.",
      "inputSchema": {
        "required": [
          "slug"
        ],
        "properties": {
          "slug": {
            "description": "Story slug, for example cloud-providers-raise-capex.",
            "title": "Slug",
            "type": "string"
          },
          "format": {
            "default": "brief",
            "description": "One of `brief`, `full` or `claims`.",
            "title": "Format",
            "type": "string"
          }
        },
        "title": "hc_get_storyArguments",
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": true,
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Error"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Step"
          },
          "freshness": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Freshness"
          },
          "reuse": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Reuse"
          },
          "from_synorb": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "From Synorb"
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Slug"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Url"
          },
          "format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Format"
          },
          "headline": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Headline"
          },
          "dek": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Dek"
          },
          "key_facts": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Key Facts"
          },
          "markdown": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Markdown"
          },
          "paragraphs": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Paragraphs"
          },
          "unresolved": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Unresolved"
          },
          "related": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Related"
          }
        },
        "title": "StoryOut",
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "hc_sources",
      "title": "hc_sources",
      "description": "Show where a story gets its facts. Returns each cited Manifest with its original title, URL, source and publication time, the facts and paragraphs that use it, and the trust label. Also returns the steps to check the Manifests yourself.",
      "inputSchema": {
        "required": [
          "slug"
        ],
        "properties": {
          "slug": {
            "description": "Story slug, for example cloud-providers-raise-capex.",
            "title": "Slug",
            "type": "string"
          }
        },
        "title": "hc_sourcesArguments",
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": true,
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Error"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Step"
          },
          "freshness": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Freshness"
          },
          "reuse": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Reuse"
          },
          "from_synorb": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "From Synorb"
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Slug"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Url"
          },
          "trust": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Trust"
          },
          "distinct_sources": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Distinct Sources"
          },
          "manifests": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Manifests"
          },
          "check_it_yourself": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Check It Yourself"
          }
        },
        "title": "SourcesOut",
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "hc_topics",
      "title": "hc_topics",
      "description": "List the topics. Returns each topic with its title, beats, sources and story count for the last 24 hours. Also returns not_covered, a list of things this server does not cover.",
      "inputSchema": {
        "required": [],
        "properties": {},
        "title": "hc_topicsArguments",
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": true,
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Error"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Step"
          },
          "freshness": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Freshness"
          },
          "reuse": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Reuse"
          },
          "from_synorb": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "From Synorb"
          },
          "topics": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Topics"
          },
          "not_covered": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Not Covered"
          }
        },
        "title": "TopicsOut",
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "hc_about",
      "title": "hc_about",
      "description": "Explain Hanging Context. Returns what it is, the checks on each story, the reuse rules, and how to read or receive stories.",
      "inputSchema": {
        "required": [],
        "properties": {},
        "title": "hc_aboutArguments",
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": true,
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Error"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Message"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Next Step"
          },
          "freshness": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Freshness"
          },
          "reuse": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Reuse"
          },
          "from_synorb": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "From Synorb"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Description"
          },
          "tools": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Tools"
          }
        },
        "title": "AboutOut",
        "type": "object"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ],
  "prompts": [
    {
      "name": "morning_brief",
      "description": "Get the latest stories in short form, for one topic or for all topics.",
      "arguments": [
        {
          "name": "topic",
          "description": "Topic id. Leave empty for all topics.",
          "required": false
        }
      ]
    },
    {
      "name": "what_changed",
      "description": "List the stories that are new for a topic in the last N hours.",
      "arguments": [
        {
          "name": "topic",
          "description": "Topic id.",
          "required": true
        },
        {
          "name": "since_hours",
          "description": "How many hours back. The default is 12.",
          "required": false
        }
      ]
    }
  ],
  "resources": [
    {
      "uri": "hc://latest",
      "name": "latest_resource",
      "description": "The latest stories, all topics.",
      "mimeType": "application/json"
    },
    {
      "uri": "hc://editions/latest",
      "name": "legacy_latest_resource",
      "description": "Old name of hc://latest.",
      "mimeType": "application/json"
    },
    {
      "uriTemplate": "hc://topics/{slug}/latest",
      "name": "topic_latest_resource",
      "description": "The latest stories in one topic.",
      "mimeType": "application/json"
    },
    {
      "uriTemplate": "hc://newsrooms/{slug}/latest",
      "name": "legacy_topic_latest_resource",
      "description": "Old name of hc://topics/{slug}/latest.",
      "mimeType": "application/json"
    }
  ]
}
