Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.0-alpha.19"
".": "0.1.0-alpha.20"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 20
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-36086d31791dca6112f0c79f44f296d0cdea35df74f4b3b725f86296a51a86fd.yml
openapi_spec_hash: 0ac69304e57ec27533774ed339a44314
config_hash: 8563083ae1fa5c137476fb1237aa8ea9
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/stainless%2Fstainless-v0-c9cc06ef2a81689b87584b0ed2b2eaecacdf4481bc191b3b98659e7d56c88414.yml
openapi_spec_hash: dbe850db5529faa656cce1da730da5f7
config_hash: effe8b6aab8f8658232161326e483a5e
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
# Changelog

## 0.1.0-alpha.20 (2026-01-07)

Full Changelog: [v0.1.0-alpha.19...v0.1.0-alpha.20](https://github.com/stainless-api/stainless-api-typescript/compare/v0.1.0-alpha.19...v0.1.0-alpha.20)

### ⚠ BREAKING CHANGES

* **mcp:** remove deprecated tool schemes
* **mcp:** **Migration:** To migrate, simply modify the command used to invoke the MCP server. Currently, the only supported tool scheme is code mode. Now, starting the server with just `node /path/to/mcp/server` or `npx package-name` will invoke code tools: changing your command to one of these is likely all you will need to do.

### Features

* add openapi target ([1c07f4a](https://github.com/stainless-api/stainless-api-typescript/commit/1c07f4a27ff101b648b41178c89de46332e47f48))
* **ci:** Add organization-level setting for AI commit messages ([ea9213e](https://github.com/stainless-api/stainless-api-typescript/commit/ea9213eaea7216e096c9fbcb8286a7024fbebb32))
* **sql:** initial commit ([54595ed](https://github.com/stainless-api/stainless-api-typescript/commit/54595ed3bf6ec49e4a49fb59125eab12a93f2d08))


### Bug Fixes

* dedent dockerfile ([c273cf7](https://github.com/stainless-api/stainless-api-typescript/commit/c273cf771f9d479526e1e0fe4c0a5d461dff6383))
* **mcp:** add client instantiation options to code tool ([71cc60e](https://github.com/stainless-api/stainless-api-typescript/commit/71cc60e3a35a4ed5cf7bb44ae17d1033804d9079))
* **mcp:** pass base url to code tool ([fc5e7d2](https://github.com/stainless-api/stainless-api-typescript/commit/fc5e7d28983fea9e698f29730f2f0f3db4b737d5))
* production stage ([c1a4349](https://github.com/stainless-api/stainless-api-typescript/commit/c1a4349857b91d2637f01b9420ff5be14f806a15))


### Chores

* **mcp:** remove deprecated tool schemes ([8b033b8](https://github.com/stainless-api/stainless-api-typescript/commit/8b033b81b2581291ed1cfcbfaa295276080e59a4))


### Refactors

* **api:** change completed shape ([ec7f479](https://github.com/stainless-api/stainless-api-typescript/commit/ec7f479865b9f619d433cbcecc3980b9f8dd2c44))

## 0.1.0-alpha.19 (2025-12-09)

Full Changelog: [v0.1.0-alpha.18...v0.1.0-alpha.19](https://github.com/stainless-api/stainless-api-typescript/compare/v0.1.0-alpha.18...v0.1.0-alpha.19)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2025 Stainless
Copyright 2026 Stainless

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-api/sdk",
"version": "0.1.0-alpha.19",
"version": "0.1.0-alpha.20",
"description": "The official TypeScript library for the Stainless API",
"author": "Stainless <[email protected]>",
"types": "dist/index.d.ts",
Expand Down
108 changes: 51 additions & 57 deletions packages/mcp-server/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,55 +1,53 @@
# Dockerfile for Stainless MCP Server
#
# This Dockerfile builds a Docker image for the MCP Server.
#
# To build the image locally:
# docker build -f packages/mcp-server/Dockerfile -t stainlessapi/stainless-mcp:local .
#
# To run the image:
# docker run -i stainlessapi/stainless-mcp:local [OPTIONS]
#
# Common options:
# --tool=<name> Include specific tools
# --resource=<name> Include tools for specific resources
# --operation=read|write Filter by operation type
# --client=<type> Set client compatibility (e.g., claude, cursor)
# --transport=<type> Set transport type (stdio or http)
#
# For a full list of options:
# docker run -i stainlessapi/stainless-mcp:local --help
#
# Note: The MCP server uses stdio transport by default. Docker's -i flag
# enables interactive mode, allowing the container to communicate over stdin/stdout.

# Build stage
FROM node:20-alpine AS builder
#
# This Dockerfile builds a Docker image for the MCP Server.
#
# To build the image locally:
# docker build -f packages/mcp-server/Dockerfile -t stainlessapi/stainless-mcp:local .
#
# To run the image:
# docker run -i stainlessapi/stainless-mcp:local [OPTIONS]
#
# Common options:
# --tool=<name> Include specific tools
# --resource=<name> Include tools for specific resources
# --operation=read|write Filter by operation type
# --client=<type> Set client compatibility (e.g., claude, cursor)
# --transport=<type> Set transport type (stdio or http)
#
# For a full list of options:
# docker run -i stainlessapi/stainless-mcp:local --help
#
# Note: The MCP server uses stdio transport by default. Docker's -i flag
# enables interactive mode, allowing the container to communicate over stdin/stdout.

# Build stage
FROM node:20-alpine AS builder

# Enable corepack to use pnpm
RUN corepack enable && corepack prepare pnpm@latest --activate

# Install bash for build script
RUN apk add --no-cache bash openssl
# Install bash for build script
RUN apk add --no-cache bash openssl

# Set working directory
WORKDIR /build
# Set working directory
WORKDIR /build

# Copy entire repository
COPY . .
# Copy entire repository
COPY . .

# Install all dependencies and build everything
RUN pnpm install --frozen-lockfile && \
pnpm build
# Install all dependencies and build everything
RUN pnpm install --frozen-lockfile && \
pnpm build

# Production stage
# Production stage
FROM node:20-alpine

FROM denoland/deno:alpine
RUN apk add --no-cache npm
# Add non-root user
RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001

# Add non-root user
RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001

# Set working directory
WORKDIR /app
# Set working directory
WORKDIR /app

# Copy the built mcp-server preserving directory structure
COPY --from=builder /build/packages/mcp-server/dist ./packages/mcp-server/dist
Expand All @@ -58,24 +56,20 @@ COPY --from=builder /build/packages/mcp-server/node_modules ./packages/mcp-serve
# Copy node_modules from root (pnpm hoists dependencies here)
COPY --from=builder /build/node_modules ./node_modules

# Copy the built @stainless-api/sdk into node_modules
COPY --from=builder /build/dist ./node_modules/@stainless-api/sdk

# Change ownership to nodejs user
RUN chown -R nodejs:nodejs /app
# Copy the built @stainless-api/sdk into node_modules
COPY --from=builder /build/dist ./node_modules/@stainless-api/sdk

# Switch to non-root user
USER nodejs
# Change ownership to nodejs user
RUN chown -R nodejs:nodejs /app

# The MCP server uses stdio transport by default
# No exposed ports needed for stdio communication
# Switch to non-root user
USER nodejs

# This is needed for node to run on the deno:alpine image.
# See <https://github.com/denoland/deno_docker/issues/373>.
ENV LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
# The MCP server uses stdio transport by default
# No exposed ports needed for stdio communication

# Set the entrypoint to the MCP server
ENTRYPOINT ["node", "packages/mcp-server/dist/index.js"]
# Set the entrypoint to the MCP server
ENTRYPOINT ["node", "packages/mcp-server/dist/index.js"]

# Allow passing arguments to the MCP server
CMD []
# Allow passing arguments to the MCP server
CMD []
Loading