{
  "protocolVersion": "1.0",
  "name": "OpenGrants",
  "description": "Finds and qualifies public funding — grants, government contracts, and funders — across federal, state, local, foundation, and corporate sources in the United States.",
  "version": "1.0.0",
  "url": "https://aistaff.opengrants.io/a2a",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://aistaff.opengrants.io/a2a",
      "protocolBinding": "JSONRPC",
      "transport": "JSONRPC"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "provider": {
    "organization": "OpenGrants",
    "url": "https://opengrants.io"
  },
  "documentationUrl": "https://aistaff.opengrants.io/",
  "securitySchemes": {
    "apiKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "OpenGrants API key from the Developer portal. Required only by skills that declare it."
    }
  },
  "security": [],
  "securityRequirements": [],
  "skills": [
    {
      "id": "search-funding",
      "name": "Search funding opportunities",
      "description": "Keyword or semantic search across open grants and government contracts. Filter by state, award size, deadline, and category. Returns the same public catalog the website exposes.",
      "tags": [
        "grants",
        "contracts",
        "search",
        "public-funding"
      ],
      "examples": [
        "Find open climate resilience grants for California nonprofits",
        "What SBIR contracts close in the next 30 days?"
      ]
    },
    {
      "id": "funder-profile",
      "name": "Look up a funder",
      "description": "Retrieve a funding organization and the opportunities it offers, including IRS 990 financials where available. Public data, no account required.",
      "tags": [
        "funders",
        "foundations",
        "irs-990"
      ],
      "examples": [
        "Who funds rural broadband in Montana?",
        "Show me the profile for this foundation"
      ]
    },
    {
      "id": "match-funding",
      "name": "Match funding to an organization",
      "description": "Rank open grants against an organization profile — mission, sector, geography, budget, applicant type — and explain why each one fits. Requires an OpenGrants API key.",
      "tags": [
        "matching",
        "ranking",
        "eligibility"
      ],
      "examples": [
        "Match grants to our mission statement and service area"
      ],
      "security": [
        {
          "apiKey": []
        }
      ],
      "securityRequirements": [
        {
          "apiKey": []
        }
      ]
    },
    {
      "id": "check-eligibility",
      "name": "Check eligibility for an opportunity",
      "description": "Assess whether an organization meets the stated eligibility criteria for a specific grant, and identify what is missing. Requires an OpenGrants API key.",
      "tags": [
        "eligibility",
        "qualification"
      ],
      "examples": [
        "Are we eligible for this grant as a 501(c)(3) founded last year?"
      ],
      "security": [
        {
          "apiKey": []
        }
      ],
      "securityRequirements": [
        {
          "apiKey": []
        }
      ]
    },
    {
      "id": "scope-engagement",
      "name": "Scope an OpenGrants engagement",
      "description": "Recommend the OpenGrants offering that fits an organization — self-serve platform, human-led Concierge support, or the Development Office on a success-fee basis — with current terms and how to start. OpenGrants delivers this work directly.",
      "tags": [
        "pricing",
        "consulting",
        "services",
        "development-office"
      ],
      "examples": [
        "We are a nonprofit running a capital campaign and want people, not software",
        "We have no budget upfront but we are fundable",
        "What does OpenGrants cost?"
      ]
    },
    {
      "id": "request-data-access",
      "name": "Size API access",
      "description": "Given an intended use case and expected request volume, identify which OpenGrants plan covers it, what the daily quota is, and how to start. Both plans are self-serve.",
      "tags": [
        "api",
        "pricing",
        "quota",
        "data-access"
      ],
      "examples": [
        "We need about 500 API calls a day for a govtech product",
        "Which plan do I need to build an integration?"
      ]
    }
  ]
}
