{
  "schema_version": "1.0",
  "name": "Bri MCP Connector",
  "version": "0.1.0",
  "description": "A narrow MCP connector for managing Subscriptions and creating source-backed Newspaper and Podcast Briefings.",
  "serverUrl": "https://feedcontext.io/mcp",
  "url": "https://feedcontext.io/mcp",
  "documentation_url": "https://feedcontext.io/mcp/page",
  "protected_resource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp",
  "transport": {
    "type": "streamable_http",
    "method": "POST",
    "endpoint": "https://feedcontext.io/mcp"
  },
  "auth": {
    "type": "oauth2",
    "scopes": [
      "mcp:use"
    ]
  },
  "tools": [
    {
      "name": "list_subscriptions",
      "title": "List subscriptions",
      "description": "List active Bri Subscriptions for the authenticated user.",
      "input": "limit, cursor",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          }
        }
      },
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List subscriptions"
      },
      "auth": {
        "type": "oauth2",
        "scopes": [
          "mcp:use"
        ],
        "protectedResource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp"
      }
    },
    {
      "name": "add_subscription",
      "title": "Add subscription",
      "description": "Add one RSS or Atom Subscription for the authenticated user.",
      "input": "feed_url",
      "inputSchema": {
        "type": "object",
        "required": [
          "feed_url"
        ],
        "properties": {
          "feed_url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Add subscription"
      },
      "auth": {
        "type": "oauth2",
        "scopes": [
          "mcp:use"
        ],
        "protectedResource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp"
      }
    },
    {
      "name": "remove_subscription",
      "title": "Remove subscription",
      "description": "Remove one Bri Subscription for the authenticated user.",
      "input": "subscription_id",
      "inputSchema": {
        "type": "object",
        "required": [
          "subscription_id"
        ],
        "properties": {
          "subscription_id": {
            "type": "string"
          }
        }
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Remove subscription"
      },
      "auth": {
        "type": "oauth2",
        "scopes": [
          "mcp:use"
        ],
        "protectedResource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp"
      }
    },
    {
      "name": "create_newspaper",
      "title": "Create Newspaper",
      "description": "Create a Newspaper Briefing from the authenticated user's Bri Subscriptions.",
      "input": "request, timezone",
      "inputSchema": {
        "type": "object",
        "required": [
          "request",
          "timezone"
        ],
        "properties": {
          "request": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone name."
          }
        }
      },
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create Newspaper"
      },
      "auth": {
        "type": "oauth2",
        "scopes": [
          "mcp:use"
        ],
        "protectedResource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp"
      }
    },
    {
      "name": "create_podcast",
      "title": "Create Podcast",
      "description": "Create a Podcast Briefing from the authenticated user's Bri Subscriptions.",
      "input": "request, timezone",
      "inputSchema": {
        "type": "object",
        "required": [
          "request",
          "timezone"
        ],
        "properties": {
          "request": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone name."
          }
        }
      },
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create Podcast"
      },
      "auth": {
        "type": "oauth2",
        "scopes": [
          "mcp:use"
        ],
        "protectedResource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp"
      }
    },
    {
      "name": "get_artifact_status",
      "title": "Get artifact status",
      "description": "Get production status for one Bri Briefing.",
      "input": "artifact_id",
      "inputSchema": {
        "type": "object",
        "required": [
          "artifact_id"
        ],
        "properties": {
          "artifact_id": {
            "type": "string"
          }
        }
      },
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get artifact status"
      },
      "auth": {
        "type": "oauth2",
        "scopes": [
          "mcp:use"
        ],
        "protectedResource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp"
      }
    },
    {
      "name": "get_artifact_link",
      "title": "Get artifact link",
      "description": "Get the public viewer link for one ready Bri Briefing.",
      "input": "artifact_id",
      "inputSchema": {
        "type": "object",
        "required": [
          "artifact_id"
        ],
        "properties": {
          "artifact_id": {
            "type": "string"
          }
        }
      },
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get artifact link"
      },
      "auth": {
        "type": "oauth2",
        "scopes": [
          "mcp:use"
        ],
        "protectedResource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp"
      }
    },
    {
      "name": "list_briefings",
      "title": "List briefings",
      "description": "List recent Bri Briefings for the authenticated user.",
      "input": "limit, cursor, type",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "default": 10
          },
          "type": {
            "type": "string",
            "enum": [
              "newspaper",
              "podcast"
            ]
          }
        }
      },
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List briefings"
      },
      "auth": {
        "type": "oauth2",
        "scopes": [
          "mcp:use"
        ],
        "protectedResource": "https://feedcontext.io/.well-known/oauth-protected-resource/mcp"
      }
    }
  ],
  "boundaries": [
    "No Feed Item full-content reads.",
    "No admin diagnostics, settings, integrations, host management, prompts, or MCP resources."
  ]
}