Create an Azure DevOps work item

flurryport:azure-devops-workitemdeliveryv1first-partysha256:4e124cbcf7c2Needs: read/write agent token

Let your AI file Azure DevOps work items (bugs, tasks) the model never holds credentials for.

Create a work item (Bug by default) in an Azure DevOps project via the Boards REST API. The org, project, and work-item type are fixed at install; the PAT is the secret, entered in the browser as an HTTP Basic credential.

The credential never enters the model context: it lives in the FlurryPORT secret store, deliveries are signed server-side, and every send returns a receipt your agent can quote.

Install with your agent

npx flurryport mcp

Point your agent at the FlurryPORT MCP server (npx flurryport mcp) and ask it for the flurryport:azure-devops-workitem recipe. Works from AI clients that can run a local process: desktop apps and terminal agents. Web-only chat clients cannot reach a local MCP server; open a desktop client instead.

Tools your agent gains

flry_azure_devops_workitem
Create an Azure DevOps work item in the configured org/project. Input: title (required), description (optional), tags (optional, semicolon-separated).

Setup walkthrough

  1. AZURE_DEVOPS_PAT: In Azure DevOps: User settings, Personal access tokens, New Token, scope Work Items (Read & write). The value to paste in the FlurryPORT secret page is the HTTP Basic credential, NOT the raw token: run `printf ':YOUR_PAT' | base64` and paste the result. The recipe sends it as `Authorization: Basic <value>`.

Intent schema

{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 255
    },
    "description": {
      "type": "string"
    },
    "tags": {
      "type": "string",
      "description": "Semicolon-separated tags."
    }
  }
}

Install-time parameters

org
install-time: Azure DevOps organization.
project
install-time: Project within the organization.
type
install-time: Work item type (Bug, Task, User Story...).

Transformation

[ { "op": "add", "path": "/fields/System.Title", "value": $body.title }, { "op": "add", "path": "/fields/System.Description", "value": ($exists($body.description) ? $body.description : "") }, { "op": "add", "path": "/fields/System.Tags", "value": ($exists($body.tags) ? $body.tags : "") } ]

Delivery target

POST https://dev.azure.com/$install.org/$install.project/_apis/wit/workitems/$$install.type?api-version=7.1

Placeholders like $secrets.NAME resolve server-side at delivery, never in the agent.

Where this fits

Related recipes

flurryport:azure-devops-managedelivery

Create and update Azure DevOps work items in one batched pipe: priority, state, tags, and sprint included.

flurryport:azure-devops-querydelivery

Query Azure DevOps work items with WIQL and read the matching ids back, without your AI ever holding the PAT.

flurryport:azure-devops-readdelivery

Read fields for a batch of Azure DevOps work items by id: title, state, tags, priority, iteration.

flurryport:github-create-issuedelivery

Let your AI file GitHub issues with a fine-grained PAT it never touches.

flurryport:jira-create-issuedelivery

Let your AI file Jira Cloud issues with an API token it never touches.

flurryport:linear-create-issuedelivery

Let your AI file Linear issues with an API key it never touches.