Skip to content

Customize

A workspace's connectors: MCP servers connected once and given to agents.

GET/workspaces/{workspace}/customize/connectors

Each has its id (con_…), name (tools are offered to agents as <name>__<tool>), title, url, category, auth (none, header or oauth), state (connected, needs_sign_in, needs_key or problem, with problem saying why), from (the directory, a plugin’s server, an address, or one agent’s own server), its tools as last listed and checked_at, header_name for a key (the key itself is never returned), who it is signed_in_as for OAuth, its grants (where it reaches: every agent, a team or one agent), and who added it. g1t’s own integrations (GitHub, trackers, alert sources, model providers) are list_integrations. Members only.

state is connected, needs_sign_in (OAuth, not signed in yet: an owner signs in on the site), needs_key (header auth without a value yet) or problem (with problem saying why the server could not be reached). tools is what the server listed last, at checked_at; agents are offered each as <name>__<tool>. Keys and tokens are never returned: header_name says only which header a key is sent as. g1t’s own integrations (GitHub, Jira, Sentry, model providers…) are list_integrations.

  • Authentication: Required. Send an access token as Authorization: Bearer.
  • MCP tool: customize with action list_connectors, and the same inputs
  • Scope: An access token needs workspace:read.
Name Type Required Description
workspace string Yes The workspace’s slug.
curl https://api.g1t.sh/workspaces/flagon-io/customize/connectors \
-H "Authorization: Bearer $G1T_TOKEN"

A successful request answers 200 with:

[
{
"id": "con_01kq9h4k6m8p0r2t4v6x8z0b2d",
"name": "linear",
"title": "Linear",
"url": "https://mcp.linear.app/mcp",
"category": "work",
"about": "Issues, projects and cycles in Linear.",
"auth": "oauth",
"state": "connected",
"problem": null,
"from": {
"kind": "directory",
"id": "linear"
},
"tools": [
{
"name": "list_issues",
"description": "List issues in a team or project.",
"input_schema": {
"type": "object",
"properties": {
"team": {
"type": "string"
}
}
}
}
],
"checked_at": "2026-10-11T14:31:05.772Z",
"header_name": null,
"signed_in_as": "chase@flagon.io",
"signed_in_at": "2026-10-11T14:31:05.772Z",
"grants": [
{
"id": "cgr_01kq9h5l7n9q1s3u5w7y9a1c3e",
"scope": "workspace",
"target": null,
"label": "Every agent",
"granted_by": "syntaqx",
"granted_at": "2026-10-11T14:32:10.004Z"
}
],
"added_by": "syntaqx",
"added_at": "2026-10-11T14:30:12.618Z"
},
{
"id": "con_01kq9j6m8p0r2t4v6x8z0b2d4f",
"name": "docs-search",
"title": "docs-search",
"url": "https://mcp.flagon.dev/docs",
"category": null,
"about": null,
"auth": "header",
"state": "needs_key",
"problem": null,
"from": {
"kind": "address"
},
"tools": [],
"checked_at": null,
"header_name": "X-Api-Key",
"signed_in_as": null,
"signed_in_at": null,
"grants": [],
"added_by": "syntaqx",
"added_at": "2026-10-11T14:40:55.130Z"
}
]

A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.

Status Code When
401 unauthenticated A token is required, or the one sent is not valid.
403 forbidden The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository.
404 not_found It does not exist, or you cannot see it.
422 invalid The input is not valid. message says which field and why.