Merge pull request #15 from geelen/windows-fix

Windows debugging
This commit is contained in:
Glen Maddern 2025-04-04 04:48:00 +01:00 committed by GitHub
commit 84b87375fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 7 deletions

View file

@ -130,7 +130,7 @@ Then restarting your MCP client.
### Check your Node version ### Check your Node version
Make sure that the version of Node you have installed is [16 or Make sure that the version of Node you have installed is [18 or
higher](https://modelcontextprotocol.io/quickstart/server). Claude higher](https://modelcontextprotocol.io/quickstart/server). Claude
Desktop will use your system version of Node, even if you have a newer Desktop will use your system version of Node, even if you have a newer
version installed elsewhere. version installed elsewhere.

View file

@ -1,6 +1,6 @@
{ {
"name": "mcp-remote", "name": "mcp-remote",
"version": "0.0.15", "version": "0.0.16",
"description": "Remote proxy for Model Context Protocol, allowing local-only clients to connect to remote servers using oAuth", "description": "Remote proxy for Model Context Protocol, allowing local-only clients to connect to remote servers using oAuth",
"keywords": [ "keywords": [
"mcp", "mcp",

View file

@ -76,7 +76,7 @@ export async function waitForAuthentication(port: number): Promise<boolean> {
} else if (response.status === 202) { } else if (response.status === 202) {
// Continue polling // Continue polling
log(`Authentication still in progress`) log(`Authentication still in progress`)
await new Promise(resolve => setTimeout(resolve, 1000)) await new Promise((resolve) => setTimeout(resolve, 1000))
} else { } else {
log(`Unexpected response status: ${response.status}`) log(`Unexpected response status: ${response.status}`)
return false return false
@ -100,8 +100,8 @@ export async function coordinateAuth(
callbackPort: number, callbackPort: number,
events: EventEmitter, events: EventEmitter,
): Promise<{ server: Server; waitForAuthCode: () => Promise<string>; skipBrowserAuth: boolean }> { ): Promise<{ server: Server; waitForAuthCode: () => Promise<string>; skipBrowserAuth: boolean }> {
// Check for a lockfile // Check for a lockfile (disabled on Windows for the time being)
const lockData = await checkLockfile(serverUrlHash) const lockData = process.platform === 'win32' ? null : await checkLockfile(serverUrlHash)
// If there's a valid lockfile, try to use the existing auth process // If there's a valid lockfile, try to use the existing auth process
if (lockData && (await isLockValid(lockData))) { if (lockData && (await isLockValid(lockData))) {
@ -115,7 +115,7 @@ export async function coordinateAuth(
// Setup a dummy server - the client will use tokens directly from disk // Setup a dummy server - the client will use tokens directly from disk
const dummyServer = express().listen(0) // Listen on any available port const dummyServer = express().listen(0) // Listen on any available port
// This shouldn't actually be called in normal operation, but provide it for API compatibility // This shouldn't actually be called in normal operation, but provide it for API compatibility
const dummyWaitForAuthCode = () => { const dummyWaitForAuthCode = () => {
log('WARNING: waitForAuthCode called in secondary instance - this is unexpected') log('WARNING: waitForAuthCode called in secondary instance - this is unexpected')
@ -183,6 +183,6 @@ export async function coordinateAuth(
return { return {
server, server,
waitForAuthCode, waitForAuthCode,
skipBrowserAuth: false skipBrowserAuth: false,
} }
} }