commit
84b87375fb
3 changed files with 7 additions and 7 deletions
|
@ -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.
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue