opengov-mcp-server
Version:
MCP server that enables a client, such as Claude Desktop, to access open government data through Socrata APIs
25 lines • 897 B
JavaScript
import axios from 'axios';
// Get configured data portal URL from environment
const DATA_PORTAL_URL = process.env.DATA_PORTAL_URL;
if (!DATA_PORTAL_URL) {
console.error('ERROR: DATA_PORTAL_URL environment variable must be set');
process.exit(1);
}
const DEFAULT_BASE_URL = DATA_PORTAL_URL;
/**
* Helper function to make API requests to Socrata endpoints
*/
export async function fetchFromSocrataApi(path, params = {}, baseUrl = DEFAULT_BASE_URL) {
const url = `${baseUrl}${path}`;
try {
const response = await axios.get(url, { params });
return response.data;
}
catch (error) {
if (axios.isAxiosError(error) && error.response) {
throw new Error(`API request failed: ${error.response.status} - ${error.response.statusText}\n${JSON.stringify(error.response.data)}`);
}
throw error;
}
}
//# sourceMappingURL=api.js.map