Skip to content

GraphQL as a first-class endpoint type#31

Merged
Jacobobber merged 1 commit into
mainfrom
feat/graphql-endpoints
Jul 8, 2026
Merged

GraphQL as a first-class endpoint type#31
Jacobobber merged 1 commit into
mainfrom
feat/graphql-endpoints

Conversation

@Jacobobber

Copy link
Copy Markdown
Owner

A GraphQL API was modelled as a raw POST /graphql where the caller hand-writes the query string as an argument. GraphQL is now a first-class endpoint type.

  • Endpoint.graphql holds a fixed query document. When set, the handler POSTs {"query": <doc>, "variables": {<body args>}} — a named operation whose tool arguments are the GraphQL variables. The variables appear in the tool's argument schema, so a client (and a model) sees typed inputs, not "paste GraphQL here".
  • Linear (GraphQL-only) converted from the single raw linear_graphql tool to named operations: linear_viewer, linear_my_issues, linear_teams, and linear_issue (which takes an id variable). Catalog now 111 tools.

4 new tests: the query envelope is sent, args map to variables, variables include only provided args, and GraphQL variables show up in the argument schema. 248 tests, mypy --strict, ruff (whole repo), catalog-freshness green. Backward compatible; v0.23.0.

A GraphQL API was modelled as a raw POST where the caller hand-writes the
query. Now an endpoint carries a fixed graphql= document and the tool's args
become the GraphQL variables, so a caller invokes a named operation.

- Endpoint.graphql: when set, the handler POSTs {query: <doc>, variables:
  {<body args>}}; args appear in the argument schema as the variables.
- Linear (GraphQL-only) converted from one raw linear_graphql tool to named
  operations: linear_viewer / linear_my_issues / linear_teams / linear_issue.
  Catalog now 111 tools.

248 tests (+4), mypy --strict, ruff (whole repo), catalog freshness all green.
v0.23.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Jacobobber Jacobobber merged commit 64cc9ee into main Jul 8, 2026
12 checks passed
@Jacobobber Jacobobber deleted the feat/graphql-endpoints branch July 8, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant