Koskamo

Pathwize MCP

An official MCP server provided by Pathwize that allows AI agents to interact with their human expert data annotation and evaluation platform. It enables tools to list expert pools, create and update tasks, add items for annotation, publish tasks, and retrieve results, facilitating RLHF and model evaluation workflows.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Pathwize MCP logo, by PathwizeVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Pathwize
You need:authenticate with a Pathwize API key as Bearer token
MCP endpoint (Streamable HTTP)
https://www.gopathwize.com/api/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 4 of 10 declare behavior hints · 0 of 8 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to gopathwize.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • List available expert pools for data annotation
  • Create and update annotation tasks
  • Add items to tasks for expert review
  • Retrieve results from completed tasks

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
pathwize 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
10 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Pathwize runs data annotation and evaluation tasks with vetted domain experts (strong in German-speaking experts). Create a task as a draft, add items, then publish only after the user confirms, because publishing emails the experts. Authenticate with a Pathwize API key (Authorization: Bearer pw_live_...).

Tools

10 advertised

list_pools — List expert pools
Advertised by the server during the last successful anonymous check.
Advertised read-only

Pools a task can run on: active curated pools plus your own, with member counts.

list_pools input schema
{
  "type": "object",
  "properties": {}
}
list_pools annotations
{
  "readOnlyHint": true
}
list_tasks — List AI tasks
Advertised by the server during the last successful anonymous check.
Advertised read-only

Your AI tasks, newest first, with status and item counts.

list_tasks input schema
{
  "type": "object",
  "properties": {}
}
list_tasks annotations
{
  "readOnlyHint": true
}
get_task — Get an AI task
Advertised by the server during the last successful anonymous check.
Advertised read-only

One task with settings, classes, examples, qualification, reference item count and item counts by status.

get_task input schema
{
  "type": "object",
  "required": [
    "taskId"
  ],
  "properties": {
    "taskId": {
      "type": "string",
      "format": "uuid"
    }
  }
}
get_task annotations
{
  "readOnlyHint": true
}
create_task — Create an AI task (draft)
Advertised by the server during the last successful anonymous check.

Create a labeling or evaluation task as a draft; nobody is notified until publish_task. Typical order: list_pools, create_task with instructions, classes, rate, pool_ids and one example image per class, add_items, then publish_task after the user confirms.

create_task input schema
{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "rate": {
      "type": "number",
      "maximum": 500,
      "minimum": 5,
      "description": "Hourly pay for the expert in EUR"
    },
    "type": {
      "enum": [
        "data_labeling",
        "preference",
        "evaluation",
        "red_team",
        "domain"
      ],
      "type": "string",
      "description": "Default data_labeling"
    },
    "title": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "domain": {
      "type": "string"
    },
    "classes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 50,
      "description": "Class names experts choose from"
    },
    "deadline": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "examples": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "url",
          "label"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "label": {
            "type": "string"
          }
        }
      },
      "maxItems": 40,
      "description": "Example images by public URL with the class they show. Labeling tasks need one per class before they can open."
    },
    "language": {
      "enum": [
        "en",
        "de"
      ],
      "type": "string",
      "description": "Language of the instructions"
    },
    "pool_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Pools the task runs on (see list_pools)"
    },
    "expertise": {
      "type": "string",
      "description": "What experts need to know, one line"
    },
    "allow_note": {
      "type": "boolean"
    },
    "annotation": {
      "enum": [
        "classification",
        "bounding_box",
        "segmentation",
        "attributes"
      ],
      "type": "string",
      "description": "Default classification"
    },
    "instructions": {
      "type": "string",
      "description": "Instructions for the experts in Markdown. A table whose first column names the classes becomes the per-class briefing."
    },
    "members_only": {
      "type": "boolean",
      "description": "Only members of these pools see the task, even on public pools"
    },
    "multi_select": {
      "type": "boolean"
    },
    "qualification": {
      "type": "object",
      "properties": {
        "sample": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 5,
          "description": "Test items per candidate (default 50)"
        },
        "enabled": {
          "type": "boolean"
        },
        "scoring": {
          "enum": [
            "auto",
            "customer"
          ],
          "type": "string",
          "description": "auto: scored against reference labels; customer: you approve each candidate"
        },
        "threshold": {
          "type": "integer",
          "maximum": 100,
          "minimum": 50,
          "description": "Pass mark in percent"
        },
        "days_to_complete": {
          "type": "integer",
          "maximum": 30,
          "minimum": 1
        }
      }
    },
    "allow_cant_tell": {
      "type": "boolean",
      "description": "Let experts skip an item without a class (default true)"
    },
    "seconds_per_item": {
      "type": "integer",
      "maximum": 3600,
      "minimum": 1
    }
  }
}
update_task — Update an AI task
Advertised by the server during the last successful anonymous check.

Change a task's settings; only the fields you pass change, examples are added. Does not publish.

update_task input schema
{
  "type": "object",
  "required": [
    "taskId"
  ],
  "properties": {
    "rate": {
      "type": "number",
      "maximum": 500,
      "minimum": 5,
      "description": "Hourly pay for the expert in EUR"
    },
    "title": {
      "type": "string"
    },
    "domain": {
      "type": "string"
    },
    "taskId": {
      "type": "string",
      "format": "uuid"
    },
    "classes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 50,
      "description": "Class names experts choose from"
    },
    "deadline": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "examples": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "url",
          "label"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "label": {
            "type": "string"
          }
        }
      },
      "maxItems": 40,
      "description": "Example images by public URL with the class they show. Labeling tasks need one per class before they can open."
    },
    "language": {
      "enum": [
        "en",
        "de"
      ],
      "type": "string",
      "description": "Language of the instructions"
    },
    "pool_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Pools the task runs on (see list_pools)"
    },
    "expertise": {
      "type": "string",
      "description": "What experts need to know, one line"
    },
    "allow_note": {
      "type": "boolean"
    },
    "annotation": {
      "enum": [
        "classification",
        "bounding_box",
        "segmentation",
        "attributes"
      ],
      "type": "string",
      "description": "Default classification"
    },
    "instructions": {
      "type": "string",
      "description": "Instructions for the experts in Markdown. A table whose first column names the classes becomes the per-class briefing."
    },
    "members_only": {
      "type": "boolean",
      "description": "Only members of these pools see the task, even on public pools"
    },
    "multi_select": {
      "type": "boolean"
    },
    "qualification": {
      "type": "object",
      "properties": {
        "sample": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 5,
          "description": "Test items per candidate (default 50)"
        },
        "enabled": {
          "type": "boolean"
        },
        "scoring": {
          "enum": [
            "auto",
            "customer"
          ],
          "type": "string",
          "description": "auto: scored against reference labels; customer: you approve each candidate"
        },
        "threshold": {
          "type": "integer",
          "maximum": 100,
          "minimum": 50,
          "description": "Pass mark in percent"
        },
        "days_to_complete": {
          "type": "integer",
          "maximum": 30,
          "minimum": 1
        }
      }
    },
    "allow_cant_tell": {
      "type": "boolean",
      "description": "Let experts skip an item without a class (default true)"
    },
    "seconds_per_item": {
      "type": "integer",
      "maximum": 3600,
      "minimum": 1
    }
  }
}
update_task annotations
{
  "idempotentHint": true
}
add_items — Add items to an AI task
Advertised by the server during the last successful anonymous check.

Add items by public URL; Pathwize copies the files into its own storage. reference: true adds them to the qualification set (optionally with gold_label for automatic scoring). Idempotent per id, up to 1000 per call.

add_items input schema
{
  "type": "object",
  "required": [
    "taskId",
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Defaults to the file name in the URL"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "mime": {
            "type": "string",
            "description": "Defaults from the file extension"
          },
          "gold_label": {
            "type": "string"
          }
        }
      },
      "maxItems": 1000,
      "minItems": 1
    },
    "taskId": {
      "type": "string",
      "format": "uuid"
    },
    "reference": {
      "type": "boolean"
    }
  }
}
add_items annotations
{
  "idempotentHint": true
}
publish_task — Publish an AI task
Advertised by the server during the last successful anonymous check.

Open a task for experts. This emails every expert in the task's pools once and cannot be undone, so call it only after the user explicitly confirmed, with confirm: true. Fails with a list of anything missing.

publish_task input schema
{
  "type": "object",
  "required": [
    "taskId",
    "confirm"
  ],
  "properties": {
    "taskId": {
      "type": "string",
      "format": "uuid"
    },
    "confirm": {
      "type": "boolean",
      "const": true
    }
  }
}
close_task — Close or pause an AI task
Advertised by the server during the last successful anonymous check.

closed ends the task, draft pauses it. Experts are not emailed.

close_task input schema
{
  "type": "object",
  "required": [
    "taskId"
  ],
  "properties": {
    "status": {
      "enum": [
        "closed",
        "draft"
      ],
      "type": "string"
    },
    "taskId": {
      "type": "string",
      "format": "uuid"
    }
  }
}
close_task annotations
{
  "idempotentHint": true
}
get_results — Get labeled results
Advertised by the server during the last successful anonymous check.
Advertised read-only

Finished items with final label, agreement, notes and flags. Page with starting_after (the last item id).

get_results input schema
{
  "type": "object",
  "required": [
    "taskId"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 1
    },
    "since": {
      "type": "string"
    },
    "taskId": {
      "type": "string",
      "format": "uuid"
    },
    "starting_after": {
      "type": "string"
    }
  }
}
get_results annotations
{
  "readOnlyHint": true
}
open_dashboard — Open the business dashboard, signed in
Advertised by the server during the last successful anonymous check.

One-time link that opens the Pathwize business dashboard signed in as this business (optionally one task). Single use, one hour; give it only to the user.

open_dashboard input schema
{
  "type": "object",
  "properties": {
    "taskId": {
      "type": "string",
      "format": "uuid"
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
485 ms
95th percentile latency
485 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 485 ms · metadata changed · 10 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http pathwize-mcp https://www.gopathwize.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add pathwize-mcp --url https://www.gopathwize.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable pathwize-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "pathwize-mcp": {
      "url": "https://www.gopathwize.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "pathwize-mcp": {
      "type": "streamableHttp",
      "url": "https://www.gopathwize.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start pathwize-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "pathwize-mcp": {
      "type": "http",
      "url": "https://www.gopathwize.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http pathwize-mcp https://www.gopathwize.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://www.gopathwize.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "pathwize-mcp": {
      "serverUrl": "https://www.gopathwize.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Pathwize MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Pathwize MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing