fix: live-run wiring (SDK 1.29, zod 3.25, OAUTH_ISSUER split, alt host ports, web on 3001, log level cast, pino transport)

- Bump @modelcontextprotocol/sdk from 1.0.4 to 1.29.0 in runner-template
  (1.0.4 has no McpServer or StreamableHTTPServerTransport — file not found at runtime).
- Bump zod to 3.25.76 across workspace to satisfy modern SDK peer dep.
- Split OAUTH_ISSUER (canonical, host-reachable) from CONTROL_PLANE_URL (container-reachable for JWKS).
  Runner verifies iss against OAUTH_ISSUER; fetches JWKS from CONTROL_PLANE_URL.
  Both API and runner now agree on http://localhost:4000/oauth as the issuer in dev.
- Move postgres host port 5432 to 5440, redis 6379 to 6390 to avoid collisions with
  native installs on the dev machine.
- Move web from 3000 to 3001 (3000 occupied by Gitea on dev machine).
- Drop pino-pretty transport from API to avoid runtime require of an unbundled dep.
- Cast build_logs.level (varchar) to BuildEvent's literal union in WS replay path.
- Remove unused reqBase helper in oauth.ts.
This commit is contained in:
Marco Sadjadi
2026-05-19 00:57:23 +02:00
parent ea1ec1e801
commit ab67203921
18 changed files with 3747 additions and 41 deletions

View File

@@ -7,7 +7,7 @@ export const metadata: Metadata = {
title: 'BuildMyMCPServer — Describe your tool. We host the server.',
description:
'From prompt to production MCP server in 60 seconds. OAuth 2.1, Streamable HTTP, ready for Claude, Cursor & ChatGPT.',
metadataBase: new URL(process.env.NEXT_PUBLIC_APP_URL ?? 'http://localhost:3000'),
metadataBase: new URL(process.env.NEXT_PUBLIC_APP_URL ?? 'http://localhost:3001'),
};
export default function RootLayout({ children }: { children: React.ReactNode }) {

View File

@@ -1,2 +1,5 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

View File

@@ -4,9 +4,9 @@
"type": "module",
"private": true,
"scripts": {
"dev": "next dev --port 3000",
"dev": "next dev --port 3001",
"build": "next build",
"start": "next start --port 3000",
"start": "next start --port 3001",
"typecheck": "tsc --noEmit"
},
"dependencies": {
@@ -18,7 +18,7 @@
"react": "19.0.0",
"react-dom": "19.0.0",
"tailwind-merge": "2.5.5",
"zod": "3.23.8"
"zod": "3.25.76"
},
"devDependencies": {
"@tailwindcss/postcss": "4.0.0-beta.7",

View File

@@ -2,16 +2,34 @@
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"jsx": "preserve",
"lib": ["dom", "dom.iterable", "es2022"],
"lib": [
"dom",
"dom.iterable",
"es2022"
],
"module": "esnext",
"moduleResolution": "bundler",
"noEmit": true,
"incremental": true,
"plugins": [{ "name": "next" }],
"plugins": [
{
"name": "next"
}
],
"paths": {
"@/*": ["./*"]
}
"@/*": [
"./*"
]
},
"allowJs": true
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
"include": [
"next-env.d.ts",
"**/*.ts",
"**/*.tsx",
".next/types/**/*.ts"
],
"exclude": [
"node_modules"
]
}