Skip to main content
Glama

Scrapeless MCP Server

import { McpAgent } from "agents/mcp"; import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { initMcpTools, serverOptions } from "./server.js"; import { API_KEY_NAME } from "./config.js"; type Props = { apiKey: string, headers: any }; type Env = any type State = null; type ExecutionContext = any export class CfMcpServer extends McpAgent<Env, State, Props> { server = new McpServer(serverOptions); async init() { initMcpTools(this.server, this.props.headers, this.props.apiKey) } } export default { fetch(request: Request, env: Env, ctx: ExecutionContext) { const url = new URL(request.url); const apiKeyHeader = request.headers.get(API_KEY_NAME); if (!apiKeyHeader) { return new Response(`Unauthorized: Missing ${API_KEY_NAME} header`, { status: 401 }); } ctx.props = { apiKey: apiKeyHeader, headers: request.headers }; if (url.pathname === "/sse" || url.pathname === "/sse/message") { return CfMcpServer.serveSSE("/sse").fetch(request, env, ctx); } if (url.pathname === "/mcp") { return CfMcpServer.serve("/mcp").fetch(request, env, ctx); } return new Response("Not found", { status: 404 }); }, };

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/scrapeless-ai/scrapeless-mcp-server'

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