Skip to content

Releases: modelcontextprotocol/typescript-sdk

1.0.1

26 Nov 14:45
105b310
Compare
Choose a tag to compare

What's Changed

  • Fix npx and other processes that launch subprocesses by @anaisbetts in #68

Full Changelog: 1.0.0...1.0.1

1.0.0

25 Nov 14:59
1.0.0
cab95e5
Compare
Choose a tag to compare

We're excited to announce the first stable release of the Model Context Protocol (MCP) TypeScript SDK! This release provides a complete implementation of the MCP specification, enabling seamless integration between LLM applications and context providers.

Features

Core Protocol Implementation

  • Full implementation of MCP protocol v2024-11-05
  • Robust client and server capabilities with promise-based async support
  • Type-safe request/response handling using Zod schemas
  • Support for all core MCP primitives:
    • Prompts and prompt templates
    • Resources and resource templates
    • Tools with JSON Schema validation
    • Progress tracking and notifications
    • Logging with severity levels

Transport Layer Support

  • Standard input/output (stdio) transport
  • Server-Sent Events (SSE) transport

Client Features

  • Simple, intuitive client API
  • Automatic protocol negotiation
  • Request timeout handling
  • Progress tracking
  • Error handling with typed exceptions

Server Features

  • Flexible request handler registration
  • Built-in capability negotiation
  • Request context management
  • Support for experimental capabilities
  • Automatic request/response routing

Installation

npm install --save @modelcontextprotocol/sdk

Basic Usage

Creating a Client

import { Client } from "@modelcontextprotocol/sdk/client";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio";

const client = new Client(
  { name: "example-client", version: "1.0.0" },
  { capabilities: { sampling: {} } }
);

const transport = new StdioClientTransport({
  command: "path/to/server",
});

await client.connect(transport);

const resources = await client.listResources();

Creating a Server

import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";

const server = new Server(
  { name: "example-server", version: "1.0.0" },
  { capabilities: { resources: {} } }
);

server.setRequestHandler(ListResourcesRequestSchema, async () => ({
  resources: [
    { uri: "file:///example.txt", name: "Example Resource" }
  ]
}));

const transport = new StdioServerTransport();
await server.connect(transport);

Requirements

  • Node.js 18.0.0 or later
  • TypeScript 5.0 or later (for development)

Breaking Changes

This is the initial stable release, establishing the baseline API for future versions.

License

MIT License


For more information:

0.7.0

20 Nov 21:29
25d3123
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.6.1...0.7.0

0.6.1

20 Nov 18:18
9662709
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.6.0...0.6.1

0.6.0

16 Nov 16:41
1cb92b6
Compare
Choose a tag to compare

What's Changed

  • Add message to abortAfterTimeout, add missing request options by @jspahrsummers in #58
  • Bump @eslint/plugin-kit from 0.2.1 to 0.2.3 in the npm_and_yarn group across 1 directory by @dependabot in #57
  • Replace abortAfterTimeout with RequestOptions.timeout by @jspahrsummers in #60

New Contributors

Full Changelog: 0.5.0...0.6.0

0.5.0

15 Nov 13:44
106d1c2
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.4.0...0.5.0

0.4.0

11 Nov 15:52
373b6f1
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.3.2...0.4.0

0.3.2

07 Nov 13:40
9334495
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.3.1...0.3.2

0.3.1

07 Nov 13:12
a4031e2
Compare
Choose a tag to compare

Bump version number for package registry

0.3.0

07 Nov 13:11
7372b8a
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.2.0...0.3.0