{"id":"a2f16256-12e2-4b58-ab19-9e85ab2f094d","slug":"mcp-rest-utils","kind":"mcp","name":"mcp-rest-utils","summary":"Shared REST API utilities for building MCP servers","owner":"munch-group","repoUrl":"https://github.com/munch-group/mcp-rest-utils","license":"ISC","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2025-12-09T18:16:44.000Z","addedAt":"2026-10-21T20:12:10.797Z","logoUrl":"https://avatars.githubusercontent.com/u/150897137?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["utilities"],"tags":[],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-23T21:10:05.176Z","sample":false,"url":"https://conduits.dev/tools/mcp-rest-utils","language":"TypeScript","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# MCP REST Utilities\n\nShared REST API utilities for building Model Context Protocol (MCP) servers.\n\n## Features\n\n- **RestClient**: HTTP client with automatic retries, timeout handling, and error management\n- **RestToolFactory**: Factory pattern for creating and executing MCP tools\n- **Type-safe configuration**: TypeScript interfaces for REST tool definitions\n- **Error handling**: Unified error handling across all servers\n\n## Installation\n\n### From GitHub\n\n```bash\nnpm install git+https://github.com/munch-group/mcp-rest-utils.git\n```\n\n### From source\n\n```bash\ngit clone https://github.com/munch-group/mcp-rest-utils.git\ncd mcp-rest-utils\nnpm install\nnpm run build\n```\n\n## Usage\n\n```typescript\nimport { RestClient, RestToolFactory } from \"@mcp/rest-utils\";\n\n// Create a REST client\nconst client = new RestClient({\n  baseUrl: \"https://api.example.com\",\n  defaultHeaders: { \"Content-Type\": \"application/json\" },\n  timeout: 30000,\n  retries: 3,\n});\n\n// Define tools\nconst tools = [{\n  name: \"get_data\",\n  description: \"Get data from API\",\n  method: \"GET\",\n  endpoint: (args) => `/data/${args.id}`,\n  inputSchema: { /* ... */ },\n}];\n\n// Create tool factory and execute\nconst factory = new RestToolFactory(client);\nconst result = await factory.executeTool(tools[0], { id: \"123\" });\n```\n\n## Building\n\n```bash\nnpm run build\n```\n\n## License\n\nISC\n"}