Skip to main content
Glama

EdgeOne Geolocation MCP Server

by HolleIvan
index.ts1.56 kB
#!/usr/bin/env node import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; const server = new McpServer({ name: 'edgeone-geo-mcp-server', version: '1.0.0', description: 'An MCP service for getting user geolocation information', }); const handleApiError = (error: any) => { console.error('API Error:', error); const errorMessage = error.message || 'Unknown error occurred'; return { content: [ { type: 'text' as const, text: `Error: ${errorMessage}`, }, ], isError: true, }; }; export async function getGeoLocation(): Promise<any> { try { const res = await fetch('https://mcp-geo.edgeone.app/get_geo'); if (!res.ok) { throw new Error(`HTTP error: ${res.status} ${res.statusText}`); } return await res.json(); } catch (error) { console.error('Failed to get geolocation:', error); throw error; } } server.tool( 'get_geolocation', "Get the user's geolocation information", {}, async () => { try { const geoData = await getGeoLocation(); return { content: [ { type: 'text' as const, text: JSON.stringify(geoData, null, 2), }, ], }; } catch (e) { return handleApiError(e); } } ); console.log('Starting edgeone-geo-mcp-server...'); const transport = new StdioServerTransport(); await server.connect(transport); console.log('edgeone-geo-mcp-server started successfully!');

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/HolleIvan/mcp-geo'

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