{"name":"n8v","description":"n8v runs AI coding agents on your GitHub repositories. Send a task and an agent works on its own branch of the repository you name, can open a pull request, and answers you. Continue the conversation on the same task.","supportedInterfaces":[{"url":"https://n8v.online/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},{"url":"https://n8v.online/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3"}],"provider":{"organization":"n8v","url":"https://n8v.online"},"version":"1.0.0","documentationUrl":"https://n8v.online/settings/api","capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false},"securitySchemes":{"oauth":{"oauth2SecurityScheme":{"description":"Sign in to n8v and allow the app access to your chats. Public clients use PKCE; register with a client ID metadata document or dynamic registration.","flows":{"authorizationCode":{"authorizationUrl":"https://n8v.online/api/auth/oauth2/authorize","tokenUrl":"https://n8v.online/api/auth/oauth2/token","refreshUrl":"https://n8v.online/api/auth/oauth2/token","scopes":{"chats:read":"Read your chats: titles, status, messages and pull requests","chats:message":"Message your agents; they act on it in your repositories","chats:create":"Start new chats on repositories you connected","offline_access":"Stay connected until you disconnect the app in Settings"},"pkceRequired":true}},"oauth2MetadataUrl":"https://n8v.online/.well-known/oauth-authorization-server/api/auth"}},"apiKey":{"httpAuthSecurityScheme":{"description":"An n8v API key (n8v_sk_...) from Settings > API & MCP, sent as a bearer token. Its scopes and repository allowlist apply.","scheme":"Bearer"}}},"securityRequirements":[{"schemes":{"oauth":{"list":["chats:read","chats:message","chats:create"]}}},{"schemes":{"apiKey":{"list":[]}}}],"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"skills":[{"id":"coding-agent","name":"Coding agent","description":"Start a coding task on one of your GitHub repositories, or continue one. A new task needs metadata.repository (owner/name); optional metadata.branch (where to start), metadata.newBranch (false to work on that branch directly) and metadata.model. The agent works on its own branch and can open a pull request, returned as an artifact. When it finishes a turn the task is TASK_STATE_INPUT_REQUIRED with its reply: send the next message with the same taskId to continue. A blocking SendMessage waits up to 100 seconds; after that, poll GetTask.","tags":["coding","software-engineering","github","pull-requests"],"examples":["Fix the failing login test and open a pull request.","Add input validation to the signup form, with tests."]}]}