typeship
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@typeshiplist my projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@typeship-ax/sdk
TypeScript SDK for typeship. API reference
Generated from the OpenAPI spec by typeship. Change the spec or generation settings, then regenerate; generated files are not hand-edited.
Zero runtime dependencies — built on the platform
fetch(Node 18+, browsers, edge runtimes)Typed error unions — every call returns
ApiResult<T, E>whereElists each documented error for that exact operationAuto-pagination —
for awaitany list call to stream every item across every pageRetries built in — idempotent requests retry with exponential backoff and
Retry-AftersupportForward-compatible responses — request enums stay closed, while response enums and discriminator unions preserve values the server added after this package was generated
Optional runtime validation —
validate: trueschema-checks request and response bodies against the spec, still zero dependenciesTree-shakeable SDK — per-resource modules,
sideEffects: false
Build from source
Run these commands in the downloaded or cloned package directory:
npm install
npm run buildRequires Node.js 18+ or a modern browser/edge runtime with fetch, AbortController, and Web Streams. The package is ESM.
Save the quickstart example below in the package directory. The package import resolves to the local build.
Related MCP server: safe-oas2mcp
Install a published package
Generation does not publish a package. Before using the registry command below, confirm name and version in package.json, publish under a name you control, and verify that release is available on npm.
npm install @typeship-ax/sdk@0.11.0Quickstart
import { TypeshipClient } from "@typeship-ax/sdk";
const client = new TypeshipClient({ bearerToken: process.env.TYPESHIP_TOKEN! });
const result = await client.account.retrieve();
if (result.ok) {
console.log(result.data);
}Authentication
Bearer token —
bearerToken(a string, or a callback for tokens that expire), sent asAuthorization: Bearer <token>.
defaultHeaders adds headers to every request (API version headers, tenant ids); onRequest can rewrite any request before it is sent.
Error handling
Awaiting a call returns a discriminated result instead of throwing on request errors.
The error side includes the documented HTTP errors for that operation plus ResponseParseError, validation, and transport failures:
import { ResponseParseError, UnauthorizedError } from "@typeship-ax/sdk";
const result = await client.account.retrieve();
if (!result.ok) {
if (result.error instanceof ResponseParseError) {
console.error(result.error.body); // malformed successful JSON, preserved as text
}
if (result.error instanceof UnauthorizedError) {
// result.error.body is fully typed for this status
}
throw result.error; // every branch is an Error subclass
}
result.data; // typed success payloadPrefer exceptions? unwrap(result) returns the data or throws the typed error.
Pagination
Await a list call to inspect its ApiResult, or iterate it for concise lazy pagination. Async iteration throws the same typed API error if any page fails:
for await (const item of client.projects.list()) {
// every item from every page, fetched lazily
}
// or page manually:
const page = await client.projects.list();
if (page.ok) {
page.data.items;
await page.data.getNextPage();
}Response metadata
Every successful result includes response.status, response.headers, response.requestId, and response.rawBody. HTTP and response-parse errors expose the same metadata on error.response. A transport failure can still include result.response when headers arrived before the body read failed.
SDK configuration
new TypeshipClient({
baseUrl: "https://typeship.dev/api/v1", // default
timeoutMs: 30_000, // per attempt
maxRetries: 2, // retryable failures only
fetch: globalThis.fetch, // or your own: proxies, tests, instrumentation
});Per-call overrides ride on the last argument: { timeoutMs, maxRetries, headers, signal }.
Timeouts apply to each attempt. By default, the client makes up to two retries for 408, 429, 500, 502, 503, and 504; non-idempotent calls retry only on 429, when the operation declares an idempotency key, or when explicitly enabled. Retry-After takes precedence over exponential backoff.
Use onRequest, onResponse, and onError for instrumentation. debug receives one structured event per attempt and never includes headers or bodies.
This server cannot be deployed
Maintenance
Related MCP Connectors
- typeshipOAuthdev.typeship
Generate a typed SDK, CLI, and MCP server from any OpenAPI or GraphQL spec, and keep them current.
Search, inspect and invoke every public tool on Invokera through one MCP connection.
Discover, inspect, quote, and call external tools through one hosted MCP endpoint, with usage tracking and final credit settlement.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceExposes REST API endpoints defined in an OpenAPI Specification as MCP tools, allowing AI models to call them via the ModelContext Protocol.-- FlicenseNot gradedqualityDmaintenanceTurns OpenAPI specs into MCP tools with secure defaults, risk inspection, confirmation gates, response limits, audit logging, and secret redaction.-

@typeship-ax/mcpofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to discover and read Typeship API documentation and execute API operations through schema-validated MCP tools, with optional read-only mode and configurable result limits.66 npmMIT- AlicenseNot gradedqualityCmaintenanceEnables exposing any REST or GraphQL API as MCP tools from a single JSON spec, with writes requiring explicit confirmation before being sent.MIT