Skip to content

Commit 6c52cce

Browse files
release: 1.11.1 (#747)
Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 4b232d4 commit 6c52cce

47 files changed

Lines changed: 7665 additions & 126 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Dependencies
2+
node_modules/
3+
**/node_modules/
4+
5+
# Build outputs
6+
dist/
7+
**/dist/
8+
9+
# Git
10+
.git/
11+
.gitignore
12+
13+
# CI/CD
14+
.github/
15+
.gitlab-ci.yml
16+
.travis.yml
17+
18+
# IDE
19+
.vscode/
20+
.idea/
21+
*.swp
22+
*.swo
23+
*~
24+
25+
# OS
26+
.DS_Store
27+
Thumbs.db
28+
29+
# Testing
30+
test/
31+
tests/
32+
__tests__/
33+
*.test.js
34+
*.spec.js
35+
coverage/
36+
.nyc_output/
37+
38+
# Logs
39+
*.log
40+
npm-debug.log*
41+
yarn-debug.log*
42+
yarn-error.log*
43+
44+
# Environment
45+
.env
46+
.env.*
47+
48+
# Temporary files
49+
*.tmp
50+
*.temp
51+
.cache/
52+
53+
# Examples and scripts
54+
examples/
55+
bin/
56+
57+
# Other packages (we only need mcp-server)
58+
packages/*/
59+
!packages/mcp-server/

.github/workflows/ci.yml

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
name: CI
22
on:
33
push:
4-
branches-ignore:
5-
- 'generated'
6-
- 'codegen/**'
7-
- 'integrated/**'
8-
- 'stl-preview-head/**'
9-
- 'stl-preview-base/**'
4+
branches:
5+
- '**'
6+
- '!integrated/**'
7+
- '!stl-preview-head/**'
8+
- '!stl-preview-base/**'
9+
- '!generated'
10+
- '!codegen/**'
11+
- 'codegen/stl/**'
1012
pull_request:
1113
branches-ignore:
1214
- 'stl-preview-head/**'
@@ -49,7 +51,7 @@ jobs:
4951
- name: Set up Node
5052
uses: runloopai/setup-node@main
5153
with:
52-
node-version: '18'
54+
node-version: '20'
5355

5456
- name: Bootstrap
5557
run: ./scripts/bootstrap
@@ -75,6 +77,17 @@ jobs:
7577
AUTH: ${{ steps.github-oidc.outputs.github_token }}
7678
SHA: ${{ github.sha }}
7779
run: ./scripts/utils/upload-artifact.sh
80+
81+
- name: Upload MCP Server tarball
82+
if: |-
83+
github.repository == 'stainless-sdks/runloop-node' &&
84+
!startsWith(github.ref, 'refs/heads/stl/')
85+
env:
86+
URL: https://pkg.stainless.com/s?subpackage=mcp-server
87+
AUTH: ${{ steps.github-oidc.outputs.github_token }}
88+
SHA: ${{ github.sha }}
89+
BASE_PATH: packages/mcp-server
90+
run: ./scripts/utils/upload-artifact.sh
7891
test:
7992
timeout-minutes: 10
8093
name: test
@@ -86,10 +99,13 @@ jobs:
8699
- name: Set up Node
87100
uses: runloopai/setup-node@main
88101
with:
89-
node-version: '20'
102+
node-version: '22'
90103

91104
- name: Bootstrap
92105
run: ./scripts/bootstrap
93106

107+
- name: Build
108+
run: ./scripts/build
109+
94110
- name: Run tests
95111
run: ./scripts/test

.github/workflows/publish-npm.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
name: Publish NPM
55
on:
66
workflow_dispatch:
7+
inputs:
8+
path:
9+
description: The path to run the release in, e.g. '.' or 'packages/mcp-server'
10+
required: true
711

812
release:
913
types: [published]
@@ -48,3 +52,10 @@ jobs:
4852
fi
4953
env:
5054
NPM_TOKEN: ${{ secrets.RUNLOOP_NPM_TOKEN || secrets.NPM_TOKEN }}
55+
56+
- name: Upload MCP Server DXT GitHub release asset
57+
run: |
58+
gh release upload ${{ github.event.release.tag_name }} \
59+
packages/mcp-server/runloop_api_client_api.mcpb
60+
env:
61+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.prettierignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ CHANGELOG.md
44
/deno
55

66
# don't format tsc output, will break source maps
7-
/dist
7+
dist

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.11.0"
2+
".": "1.11.1"
33
}

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 118
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-132ed160716591bdcd9231c00da8c506d9451a5486b165fc27b2a01d93202082.yml
33
openapi_spec_hash: c2b44d9e9cda56e32141a7ea3794bbba
4-
config_hash: cbda3692cb48ab8582a0df1674b9e5c8
4+
config_hash: 3bd89c812b96708c461fb98286ebf0b5

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Changelog
22

3+
## 1.11.1 (2026-03-18)
4+
5+
Full Changelog: [v1.11.0...v1.11.1](https://github.com/runloopai/api-client-ts/compare/v1.11.0...v1.11.1)
6+
7+
### Chores
8+
9+
* configure new SDK language ([64381c0](https://github.com/runloopai/api-client-ts/commit/64381c018407f0e02a3aaf110158e917efe664ac))
10+
* configure new SDK language ([c710951](https://github.com/runloopai/api-client-ts/commit/c7109516f4f2c8c860cde297831310781f4addb3))
11+
* **internal:** make generated MCP servers compatible with Cloudflare worker environments ([53f0208](https://github.com/runloopai/api-client-ts/commit/53f0208346e1ab2283efbc5c665428446db72e64))
12+
* **internal:** support x-stainless-mcp-client-envs header in MCP servers ([9b4769e](https://github.com/runloopai/api-client-ts/commit/9b4769e31c07f9729492ff87b3f3771bc5c5680a))
13+
* **internal:** support x-stainless-mcp-client-permissions headers in MCP servers ([624d5f1](https://github.com/runloopai/api-client-ts/commit/624d5f14c20094cf942e92673271e0136fba8fa8))
14+
* **internal:** tweak CI branches ([1064841](https://github.com/runloopai/api-client-ts/commit/10648417aec063456e8ecab75db62daec1f148fd))
15+
316
## 1.11.0 (2026-03-10)
417

518
Full Changelog: [v1.10.3...v1.11.0](https://github.com/runloopai/api-client-ts/compare/v1.10.3...v1.11.0)

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ This library provides convenient access to the Runloop SDK & REST API from serve
66

77
The **RunloopSDK** is the recommended, modern way to interact with the Runloop API. It provides high-level object-oriented interfaces for common operations while maintaining full access to the underlying REST API through the `.api` property.
88

9+
## MCP Server
10+
11+
Use the Runloop MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
12+
13+
[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40runloop%2Fapi-client-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBydW5sb29wL2FwaS1jbGllbnQtbWNwIl0sImVudiI6eyJSVU5MT09QX0FQSV9LRVkiOiJNeSBCZWFyZXIgVG9rZW4ifX0)
14+
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40runloop%2Fapi-client-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40runloop%2Fapi-client-mcp%22%5D%2C%22env%22%3A%7B%22RUNLOOP_API_KEY%22%3A%22My%20Bearer%20Token%22%7D%7D)
15+
16+
> Note: You may need to set environment variables in your MCP client.
17+
918
## Installation
1019

1120
```sh

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@runloop/api-client",
3-
"version": "1.11.0",
3+
"version": "1.11.1",
44
"description": "The official TypeScript library for the Runloop API",
55
"author": "Runloop <support@runloop.ai>",
66
"types": "dist/sdk.d.ts",

packages/mcp-server/Dockerfile

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Dockerfile for Runloop MCP Server
2+
#
3+
# This Dockerfile builds a Docker image for the MCP Server.
4+
#
5+
# To build the image locally:
6+
# docker build -f packages/mcp-server/Dockerfile -t @runloop/api-client-mcp:local .
7+
#
8+
# To run the image:
9+
# docker run -i @runloop/api-client-mcp:local [OPTIONS]
10+
#
11+
# Common options:
12+
# --tool=<name> Include specific tools
13+
# --resource=<name> Include tools for specific resources
14+
# --operation=read|write Filter by operation type
15+
# --client=<type> Set client compatibility (e.g., claude, cursor)
16+
# --transport=<type> Set transport type (stdio or http)
17+
#
18+
# For a full list of options:
19+
# docker run -i @runloop/api-client-mcp:local --help
20+
#
21+
# Note: The MCP server uses stdio transport by default. Docker's -i flag
22+
# enables interactive mode, allowing the container to communicate over stdin/stdout.
23+
24+
# Build stage
25+
FROM node:24-alpine AS builder
26+
27+
# Install bash for build script
28+
RUN apk add --no-cache bash openssl
29+
30+
# Set working directory
31+
WORKDIR /build
32+
33+
# Copy entire repository
34+
COPY . .
35+
36+
# Install all dependencies and build everything
37+
RUN yarn install --frozen-lockfile && \
38+
yarn build
39+
40+
FROM denoland/deno:alpine-2.7.1
41+
42+
# Install node and npm
43+
RUN apk add --no-cache nodejs npm
44+
45+
ENV LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
46+
47+
# Add non-root user
48+
RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001
49+
50+
# Set working directory
51+
WORKDIR /app
52+
53+
# Copy the built mcp-server dist directory
54+
COPY --from=builder /build/packages/mcp-server/dist ./
55+
56+
# Copy node_modules from mcp-server (includes all production deps)
57+
COPY --from=builder /build/packages/mcp-server/node_modules ./node_modules
58+
59+
# Copy the built @runloop/api-client into node_modules
60+
COPY --from=builder /build/dist ./node_modules/@runloop/api-client
61+
62+
# Change ownership to nodejs user
63+
RUN chown -R nodejs:nodejs /app
64+
RUN chown -R nodejs:nodejs /deno-dir
65+
66+
# Switch to non-root user
67+
USER nodejs
68+
69+
# The MCP server uses stdio transport by default
70+
# No exposed ports needed for stdio communication
71+
72+
# Set the entrypoint to the MCP server
73+
ENTRYPOINT ["node", "index.js"]
74+
75+
# Allow passing arguments to the MCP server
76+
CMD []

0 commit comments

Comments
 (0)