Skip to main content
Glama

Cursor MCP Server

by johnneerdael
index.js1.61 kB
const { EventEmitter } = require("events"); class AbortSignal { constructor() { this.eventEmitter = new EventEmitter(); this.onabort = null; this.aborted = false; this.reason = undefined; } toString() { return "[object AbortSignal]"; } get [Symbol.toStringTag]() { return "AbortSignal"; } removeEventListener(name, handler) { this.eventEmitter.removeListener(name, handler); } addEventListener(name, handler) { this.eventEmitter.on(name, handler); } dispatchEvent(type) { const event = { type, target: this }; const handlerName = `on${type}`; if (typeof this[handlerName] === "function") this[handlerName](event); this.eventEmitter.emit(type, event); } throwIfAborted() { if (this.aborted) { throw this.reason; } } static abort(reason) { const controller = new AbortController(); controller.abort(); return controller.signal; } static timeout(time) { const controller = new AbortController(); setTimeout(() => controller.abort(new Error("TimeoutError")), time); return controller.signal; } } class AbortController { constructor() { this.signal = new AbortSignal(); } abort(reason) { if (this.signal.aborted) return; this.signal.aborted = true; if (reason) this.signal.reason = reason; else this.signal.reason = new Error("AbortError"); this.signal.dispatchEvent("abort"); } toString() { return "[object AbortController]"; } get [Symbol.toStringTag]() { return "AbortController"; } } module.exports = { AbortController, AbortSignal };

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnneerdael/multiplatform-cursor-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server