Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Model Context Protocol server for the Machship freight management platform
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MACHSHIP_API_TOKEN, MACHSHIP_API_URLValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"machship": {
"command": "npx",
"args": [
"-y",
"@devkind/machship-mcp"
],
"env": {
"MACHSHIP_API_TOKEN": "your-value",
"MACHSHIP_API_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add machship --env MACHSHIP_API_TOKEN=your-value --env MACHSHIP_API_URL=your-value -- npx -y @devkind/machship-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"machship": {
"command": "npx",
"args": [
"-y",
"@devkind/machship-mcp"
],
"env": {
"MACHSHIP_API_TOKEN": "your-value",
"MACHSHIP_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"machship": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@devkind/machship-mcp"
],
"env": {
"MACHSHIP_API_TOKEN": "your-value",
"MACHSHIP_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
MACHSHIP_API_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account devkindhq, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: MACHSHIP_API_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.4.0) reached the registry 4 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Machship MCP server connects Claude Desktop, Claude Code, Cursor, VS Code and any other MCP client to the Machship freight platform API. It has 125 tools for live rates, quotes, consignments, labels, manifests, tracking and invoices. It runs with npx over stdio, or as an HTTP endpoint.
You need Node.js 22 or later and a Machship API token. In Machship, go to Settings > API and generate a token.
# Read the token without echo, so it stays out of shell history
read -rs MACHSHIP_API_TOKEN claude mcp add --scope local machship -e MACHSHIP_API_TOKEN="$MACHSHIP_API_TOKEN" -- npx -y @devkind/machship-mcp
Then ask your agent: *"Ping the Machship API"*. A successful reply confirms the token.
Requirements:
Standard config works in most MCP clients:
{
"mcpServers": { "machship": { "command": "npx", "args": ["-y", "@devkind/machship-mcp"], "env": { "MACHSHIP_API_TOKEN": "your-token-here" } } } }
Keep the token in your user-level client config. Do not put it in a project .mcp.json that you commit.
Claude Desktop
Open Settings > Developer > Edit Config, or edit the file directly:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd the standard config above and restart Claude Desktop.
Claude Code
Use the Quickstart command above. --scope local stores the token in ~/.claude.json, outside the repository. You can also install the Claude Code plugin.
Cursor
Or go to Cursor Settings > MCP > Add new MCP Server. Use type command, the command npx -y @devkind/machship-mcp, and set MACHSHIP_API_TOKEN.
VS Code
code --add-mcp '{"name":"machship","command":"npx","args":["-y","@devkind/machship-mcp"],"env":{"MACHSHIP_API_TOKEN":"your-token-here"}}'
Or follow the VS Code MCP setup guide with the standard config above.
Windsurf
Follow the Windsurf MCP documentation and add the standard config above.
Goose
Go to Advanced settings > Extensions > Add custom extension. Use type STDIO, the command npx -y @devkind/machship-mcp, and set MACHSHIP_API_TOKEN.
LM Studio
Go to Program in the right sidebar > Install > Edit mcp.json and add the standard config above.
Warp
Go to Settings > AI > Manage MCP Servers > + Add, or type /add-mcp in the Warp prompt. Paste the standard config above.
Docker
No image is published to a registry. Build the image from this repo:
docker build -t devkind/machship-mcp .
Stdio config for an MCP client:
{
"mcpServers": { "machship": { "command": "docker", "args": ["run", "--rm", "-i", "-e", "MACHSHIP_API_TOKEN", "devkind/machship-mcp"], "env": { "MACHSHIP_API_TOKEN": "your-token-here" } } } }
HTTP mode on port 3000. The image sets MCP_HOST=0.0.0.0, so the published port accepts outside connections:
docker run --rm -e MACHSHIP_API_TOKEN -e TRANSPORT=http -p 3000:3000 devkind/machship-mcp
The server is also listed on Smithery.
The server has 125 tools in 21 modules. Every tool name starts with machship_.
| Area | Modules | Tools |
|---|---|---|
| Consignments | Consignments, PendingConsignments, Consolidation, Notes | 36 |
| Labels and documents | Labels, Attachments, CommercialInvoices | 22 |
| Accounts and access | Identities, IdentityProviders, OrganisationLinks, CustomSchemas | 28 |
| Companies, items and locations | Companies, CompanyItems, CompanyLocations, Locations | 20 |
| Rates | Quotes, Routes | 7 |
| Invoices | CarrierInvoices, FinancialInvoice | 6 |
| Manifests | Manifests | 5 |
| Connection check | Authenticate (machship_ping) | 1 |
A typical flow: machship_get_companies for the company ID, machship_search_locations for suburbs and postcodes, machship_get_routes for live rates, machship_create_consignment to book, a label tool, then machship_manifest_consignments to send the booking to the carrier. machship_get_consignment_statuses tracks it.
Tool text output stops at 25,000 characters. The full response is in structuredContent.
{
"tool": "machship_get_routes", "arguments": { "request": { "companyId": 1790, "fromLocation": { "suburb": "Melbourne", "postcode": "3000", "state": "VIC", "country": "AU" }, "toLocation": { "suburb": "Sydney", "postcode": "2000", "state": "NSW", "country": "AU" }, "items": [{ "weight": 10, "length": 30, "width": 30, "height": 30, "name": "Parcel", "quantity": 1 }] } } }
Illustrative output:
{
"object": { "routes": [ { "carrier": { "name": "Example Express" }, "carrierService": { "name": "Road Express" }, "consignmentTotal": { "totalSellPrice": 24.5 }, "despatchOptions": [{ "etaLocal": "2026-11-05T17:00:00" }] } ] }, "errors": null }
| Variable | Required | Default | Purpose |
|---|---|---|---|
MACHSHIP_API_TOKEN | Yes | none | Machship API token, sent only to MACHSHIP_API_URL. The server starts without it, but every tool call fails until it is set. |
MACHSHIP_API_URL | No | https://live.machship.com | Machship API base URL. |
TRANSPORT | No | stdio | Set to http for the HTTP transport. |
PORT | No | 3000 | HTTP port when TRANSPORT=http. |
MCP_HOST | No | 127.0.0.1 | HTTP bind address when TRANSPORT=http. |
npx, so npx downloads the pinned @devkind/machship-mcp package from the npm registry.MACHSHIP_API_URL (default https://live.machship.com). Each request carries your API token and the tool arguments, such as addresses, items, consignment IDs and the invoice files you upload.MCP_HOST and PORT. See HTTP mode.The repo root is a Claude Code plugin. It adds the Machship MCP server, pinned to a release version of @devkind/machship-mcp (.mcp.json). When you enable the plugin, Claude Code asks for your API token and stores it as a sensitive value. You can also change the API URL.
The plugin also ships the machship-freight skill. The skill teaches Claude the freight workflow with exact tool names: rates, consignment, labels, manifest and tracking. It also tells Claude to ask you before it books, manifests or deletes.
Install it from this repo's marketplace (Claude Code 2.1.275 or later):
/plugin install machship --marketplace devkindhq/machship-mcp
The plugin will also be in the Claude plugin directory once it is listed. On older Claude Code versions, use the claude mcp add command in the Quickstart.
MACHSHIP_API_TOKEN=your-token TRANSPORT=http npx -y @devkind/machship-mcp
POST http://localhost:3000/mcp (Streamable HTTP, stateless, JSON responses)GET http://localhost:3000/healthBy default the server listens on 127.0.0.1 only. It rejects requests whose Host header is not localhost, 127.0.0.1 or ::1, which blocks DNS rebinding attacks from web pages. Set MCP_HOST=0.0.0.0 to listen on all interfaces, for example in a container.
Warning: HTTP mode has no authentication, and every request uses the server's Machship token. If you set
MCP_HOSTto anything other than a loopback address, put an authenticating proxy in front of the server.
MCP_HOST.machship_update_identity sets omitted fields to null.This repo uses Yarn 1 (yarn.lock). Do not use npm install.
git clone https://github.com/devkindhq/machship-mcp.git
cd machship-mcp yarn install yarn lint && yarn build MACHSHIP_API_TOKEN=your-token yarn start
See CONTRIBUTING.md for the checks, commit style and release flow.
Built by Devkind. Maintained by the Devkind team.
ISC. See CONTRIBUTING.md and SECURITY.md.
If you ship with Machship, Devkind can connect it to the rest of your stack. We build on Shopify, Swell and headless commerce stacks, and build custom MCP servers and AI agent workflows. Talk to Devkind or email hello@devkind.com.au.