Skip to content

[Refactor]: Stagehand MCP becoming the Browserbase MCP #89

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
2f58ed3
stagehand migration v1
Kylejeong2 Jun 20, 2025
e9e1e78
stagehand tools using browser context similar to browserbase + stageh…
Kylejeong2 Jun 21, 2025
022b65a
rm legacy tool call and separate tools into individual files
Kylejeong2 Jun 21, 2025
e1c8f80
clean up readonly functions
Kylejeong2 Jun 25, 2025
e2431ed
cleanup tools
Kylejeong2 Jun 25, 2025
c5a8d66
remove unnecessary logger, updated readme, converted to smithery, cus…
Kylejeong2 Jun 26, 2025
352b9c2
migration to just one mcp server in the repo + readme updates
Kylejeong2 Jun 26, 2025
f1d7dec
change to structured extract, better prompts for tools
Kylejeong2 Jun 26, 2025
91e313f
better extract + update tool names + add pnpm prettier lint
Kylejeong2 Jun 26, 2025
f32fd05
v0 multi-session tools
Kylejeong2 Jun 26, 2025
a0204a5
add husky for commits + pnpm exec husky init + move around mcp specif…
Kylejeong2 Jun 26, 2025
98f4cb0
prettier-fix
Kylejeong2 Jun 26, 2025
ff674aa
better husky script, multisession prompting updates + stagehand store…
Kylejeong2 Jun 27, 2025
9c4a533
zod fix
Kylejeong2 Jun 30, 2025
70d99c4
add deps
the-roaring Jun 30, 2025
95834ab
[Fix]: add workflows to publish to npm + bug fixes (#93)
Kylejeong2 Jun 30, 2025
a4d74f6
rename session list to multi session, added better prompting
Kylejeong2 Jun 30, 2025
d6fb91d
add modelapikey to config
Kylejeong2 Jul 1, 2025
d81dcc8
moving types around, removing unnecessary code, reworking stagehand s…
Kylejeong2 Jul 3, 2025
64d70df
typo in navigate tool
Kylejeong2 Jul 3, 2025
763acaf
fix potential mem leak, pnpm, prompts session typeof
Kylejeong2 Jul 3, 2025
73b205d
pnpm fix ci, screenshot unique, transport validation, formatting
Kylejeong2 Jul 3, 2025
8c485a3
fix pnpm versioning in ci
Kylejeong2 Jul 3, 2025
398101a
console errors if user runs stdio with no api key + gemini key valida…
Kylejeong2 Jul 3, 2025
774c6d0
smithery cli tools
Kylejeong2 Jul 4, 2025
5fd6b2f
smithery yaml fix + smithery cli
Kylejeong2 Jul 4, 2025
b6e7dd1
rm sse + dockerfile update to support pnpm
Kylejeong2 Jul 4, 2025
85d9e96
dockerfile
Kylejeong2 Jul 4, 2025
0026ccc
switch to container deploy
Kylejeong2 Jul 4, 2025
156fd63
adjusting dockerfile and config imports
Kylejeong2 Jul 5, 2025
f7f4885
smithery yaml update
Kylejeong2 Jul 5, 2025
970dc55
await session cleanup
Kylejeong2 Jul 6, 2025
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
27 changes: 27 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: CI

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- run: pnpm run build
- name: Run ESLint
run: pnpm run lint
- name: Ensure no changes
run: git diff --exit-code
24 changes: 24 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Publish
on:
release:
types: [published]
jobs:
publish-npm:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
registry-url: https://registry.npmjs.org/
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 8
- run: pnpm install --frozen-lockfile
- run: pnpm publish --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
10 changes: 1 addition & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -292,13 +292,5 @@ cython_debug/

.DS_Store

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/


# Smithery
/browserbase/.smithery
/.smithery
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx lint-staged
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Use pnpm for package management
engine-strict=true
auto-install-peers=true
strict-peer-dependencies=false
33 changes: 33 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# ----- Build Stage -----
FROM node:lts-alpine AS builder
WORKDIR /app

# Copy package and configuration
COPY package.json pnpm-lock.yaml tsconfig.json ./

# Copy source code
COPY src ./src

# Copy config files
COPY config.d.ts index.d.ts ./

# Install dependencies and build
RUN corepack enable && pnpm install --frozen-lockfile && pnpm build

# ----- Production Stage -----
FROM node:lts-alpine
WORKDIR /app

# Copy package.json and install production dependencies
COPY package.json pnpm-lock.yaml ./
RUN corepack enable && pnpm install --prod --frozen-lockfile --ignore-scripts

# Copy built artifacts and required files
COPY --from=builder /app/dist ./dist
COPY index.js config.d.ts index.d.ts cli.js ./

# Expose HTTP port
EXPOSE 8080

# Default command using CLI flags
CMD ["node", "cli.js", "--port", "8080"]
Loading
Loading