{"_id":"@alsania-io/gateway","_rev":"6-ed7468089b37d77a24cdf8006f37b197","name":"@alsania-io/gateway","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@alsania-io/gateway","version":"1.0.0","keywords":["mcp","gateway","proxy","alsania","fastapi","hybrid"],"author":{"name":"Alsania"},"license":"MIT","_id":"@alsania-io/gateway@1.0.0","maintainers":[{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},{"name":"echo-dev","email":"alsaniasoftware@gmail.com"},{"name":"sigmasauer-dev","email":"sigmasauer.dev@gmail.com"}],"dist":{"shasum":"0ed52e596b164a625f823452dc540f055ec7239f","tarball":"https://registry.npmjs.org/@alsania-io/gateway/-/gateway-1.0.0.tgz","fileCount":10452,"integrity":"sha512-6+/Ic+fStaty71W1Xa4xBghePP1qyVScA0qVVtm2qB1EcdW9O9NayqfKC548yOgBsBDHGjK/jdgrpRSJA+Z8Og==","signatures":[{"sig":"MEQCIDQThhkZOE/dylyQiSysE1cyCXpHzQH+1od27DN0A+yDAiBuyCBlEvOuLe/tJ6qasLwW/3gSvUFrXFTK9bI3qog1sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212190296},"type":"module","$schema":"https://json.schemastore.org/package.json","gitHead":"2aa3c2066e89736d6bec8dff1c44adc1c1051809","scripts":{"dev":"python main.py","lint":"flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics","test":"pytest tests/","build":"tsc bridge/*.ts --outDir dist/","start":"python main.py","dev:hybrid":"concurrently 'python main.py' 'node bridge/alsaniamcp-connector.js'","connect:alsaniamcp":"node bridge/alsaniamcp-connector.js"},"_npmUser":{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},"_npmVersion":"11.6.2","description":"**Universal MCP Gateway & Proxy Server** for the Alsania Echo-Sys.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"axios":"^1.13.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","concurrently":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.0_1762366328884_0.26388969058614364","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alsania-io/gateway","version":"1.0.1","keywords":["mcp","gateway","proxy","alsania","fastapi","hybrid"],"author":{"name":"Alsania"},"license":"MIT","_id":"@alsania-io/gateway@1.0.1","maintainers":[{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},{"name":"echo-dev","email":"alsaniasoftware@gmail.com"},{"name":"sigmasauer-dev","email":"sigmasauer.dev@gmail.com"}],"dist":{"shasum":"09a3677626e78487d8de672fba3fa10230ee2862","tarball":"https://registry.npmjs.org/@alsania-io/gateway/-/gateway-1.0.1.tgz","fileCount":64,"integrity":"sha512-JAdgnhuOE1GgSTUrdFbkiJs1NN1/Ay8d5+FKr7PNkjIXUAcAdOltcxwuP4Y4NEfXwajO1RaQ0qlhqGpmclahWw==","signatures":[{"sig":"MEUCIQDdKjmD6k4V1pSbfU1BZxyY6Sk0up5mr4kMIvwcmz1lOgIgKLyfzOIA3j7YZt1dJzlS3a5qFqlH6jTfHru2WKl9ROc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209302},"type":"module","$schema":"https://json.schemastore.org/package.json","gitHead":"2aa3c2066e89736d6bec8dff1c44adc1c1051809","scripts":{"dev":"python main.py","lint":"flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics","test":"pytest tests/","build":"tsc bridge/*.ts --outDir dist/","start":"python main.py","dev:hybrid":"concurrently 'python main.py' 'node bridge/alsaniamcp-connector.js'","connect:alsaniamcp":"node bridge/alsaniamcp-connector.js"},"_npmUser":{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},"_npmVersion":"11.6.2","description":"**Universal MCP Gateway & Proxy Server** for the Alsania Echo-Sys.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"axios":"^1.13.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","concurrently":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.1_1762366668674_0.21927087794086786","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alsania-io/gateway","version":"1.0.2","keywords":["mcp","gateway","proxy","alsania","fastapi","hybrid"],"author":{"name":"Alsania"},"license":"MIT","_id":"@alsania-io/gateway@1.0.2","maintainers":[{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},{"name":"echo-dev","email":"alsaniasoftware@gmail.com"},{"name":"sigmasauer-dev","email":"sigmasauer.dev@gmail.com"}],"dist":{"shasum":"ed15877b8b432ee7e6fe6b9fcf1655cd54230c12","tarball":"https://registry.npmjs.org/@alsania-io/gateway/-/gateway-1.0.2.tgz","fileCount":65,"integrity":"sha512-9wjmxiMaybWYS3OM/S+COh2WlSQkt5OUbNhXUzmZlTJKlHMhD+EnKOUF2L2ZYByHcHkH/AIzHXVTFK+msYiMGA==","signatures":[{"sig":"MEQCIG9Xv5FG3P8fyz8JB0N+/jHKNWouZln4pN+3LJEpkAavAiAVd4LwRVJpdB2mwmL0MalZu+zRXUz0UJZtPlDk9HmQ+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223369},"type":"module","$schema":"https://json.schemastore.org/package.json","gitHead":"2aa3c2066e89736d6bec8dff1c44adc1c1051809","scripts":{"dev":"python main.py","lint":"flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics","test":"pytest tests/","build":"tsc bridge/*.ts --outDir dist/","start":"python main.py","dev:hybrid":"concurrently 'python main.py' 'node bridge/alsaniamcp-connector.js'","connect:alsaniamcp":"node bridge/alsaniamcp-connector.js"},"_npmUser":{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},"_npmVersion":"11.6.2","description":"**Universal MCP Gateway & Proxy Server** for the Alsania Echo-Sys.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"axios":"^1.13.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","concurrently":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.2_1762392012235_0.5856266944082436","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@alsania-io/gateway","version":"1.0.4","keywords":["mcp","gateway","proxy","alsania","fastapi","hybrid"],"author":{"name":"Alsania"},"license":"MIT","_id":"@alsania-io/gateway@1.0.4","maintainers":[{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},{"name":"echo-dev","email":"alsaniasoftware@gmail.com"},{"name":"sigmasauer-dev","email":"sigmasauer.dev@gmail.com"}],"dist":{"shasum":"12a49dc24b3e60987076a8bd6fc749bf96e8b6a4","tarball":"https://registry.npmjs.org/@alsania-io/gateway/-/gateway-1.0.4.tgz","fileCount":71,"integrity":"sha512-7epId6ftmKiJFxhLxOxmIQyVtoI7pOCnZZSBC/9o11Tbl39XK6W0mUc74dPUQhak6VFjcuibqBV8t0QanrRkZg==","signatures":[{"sig":"MEUCIDhk7hNFav2x/smr09jVY7wbB+pp9kuc99/rAoj9zOP8AiEA11P0g94s8X5lFDgH2J46BjY2elLon8f3CmDjTomfwK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1032476},"main":"call_gateway.js","type":"module","gitHead":"2aa3c2066e89736d6bec8dff1c44adc1c1051809","scripts":{"dev":"python main.py","lint":"flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics","test":"pytest tests/","build":"tsc bridge/*.ts --outDir dist/","start":"python main.py","dev:hybrid":"concurrently 'python main.py' 'node bridge/alsaniamcp-connector.js'","connect:alsaniamcp":"node bridge/alsaniamcp-connector.js"},"_npmUser":{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},"_npmVersion":"11.6.2","description":"**Universal MCP Gateway & Proxy Server** for the Alsania Echo-Sys.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"axios":"^1.13.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","concurrently":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.4_1763639411802_0.19633739486797852","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@alsania-io/gateway","version":"1.0.5","keywords":["mcp","gateway","proxy","alsania","fastapi","hybrid"],"author":{"name":"Alsania"},"license":"MIT","_id":"@alsania-io/gateway@1.0.5","maintainers":[{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},{"name":"echo-dev","email":"alsaniasoftware@gmail.com"},{"name":"sigmasauer-dev","email":"sigmasauer.dev@gmail.com"}],"dist":{"shasum":"d1daab374ad948de3390d7366fb094d188b4c6ae","tarball":"https://registry.npmjs.org/@alsania-io/gateway/-/gateway-1.0.5.tgz","fileCount":71,"integrity":"sha512-oaEEvcQ21RTZxBLk1jcWx3hzes2A3E7nULLPj39E051TixryZ3P6rLtpEFrPjC1RLJF9x/rwPU2Ny7pRBKmtJw==","signatures":[{"sig":"MEYCIQCIe1YsyveT2edP0K6TnOGpHorz+HBrQlw6hnSPVMBmtwIhALXEp/hohMAxQ5A+lxKPFs70fQDrrJwnVRXsP+E/M+iA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1029353},"main":"call_gateway.js","type":"module","gitHead":"2aa3c2066e89736d6bec8dff1c44adc1c1051809","scripts":{"dev":"python main.py","lint":"flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics","test":"pytest tests/","build":"tsc bridge/*.ts --outDir dist/","start":"python main.py","dev:hybrid":"concurrently 'python main.py' 'node bridge/alsaniamcp-connector.js'","connect:alsaniamcp":"node bridge/alsaniamcp-connector.js"},"_npmUser":{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},"_npmVersion":"11.6.2","description":"**Node.js MCP Bridge** for connecting to AlsaniaMCP core services.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"axios":"^1.13.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","concurrently":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.5_1763639746966_0.4662177596972834","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@alsania-io/gateway","version":"1.0.6","main":"call_gateway.js","type":"module","scripts":{"build":"tsc bridge/*.ts --outDir dist/","connect:alsaniamcp":"node bridge/alsaniamcp-connector.js","test":"echo \"No tests specified for npm package - this is a bridge library\""},"dependencies":{"axios":"^1.13.2"},"devDependencies":{"concurrently":"^9.2.1","typescript":"^5.9.3"},"keywords":["mcp","gateway","proxy","alsania","fastapi","hybrid"],"author":{"name":"Alsania"},"license":"MIT","gitHead":"2aa3c2066e89736d6bec8dff1c44adc1c1051809","_id":"@alsania-io/gateway@1.0.6","description":"**Node.js MCP Bridge** for connecting to AlsaniaMCP core services.","_nodeVersion":"22.19.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-nCYePEya9ySmI+GOCfjcVPLEm6uKPtI+sEY1V9qASHQnXekDTeXxtiWeaMK0V5l5WOlQFQ3SAnl+VOYAtZegFA==","shasum":"0c7413508ddb4d6c7f33d8ff12c8b1b4995d04af","tarball":"https://registry.npmjs.org/@alsania-io/gateway/-/gateway-1.0.6.tgz","fileCount":70,"unpackedSize":255312,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAgDiEvpDNVvksEClHW6hQOu0DWiTlU7d/TDEzcYC7gfAiASeRz2hdga9thBJyORNWqLoTCTzNXR9OCVfJn7dX5hAA=="}]},"_npmUser":{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},"directories":{},"maintainers":[{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},{"name":"echo-dev","email":"alsaniasoftware@gmail.com"},{"name":"sigmasauer-dev","email":"sigmasauer.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gateway_1.0.6_1763640012912_0.9485496951097865"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-05T18:12:08.825Z","modified":"2025-11-20T12:00:13.333Z","1.0.0":"2025-11-05T18:12:10.035Z","1.0.1":"2025-11-05T18:17:48.897Z","1.0.2":"2025-11-06T01:20:12.418Z","1.0.4":"2025-11-20T11:50:12.036Z","1.0.5":"2025-11-20T11:55:47.187Z","1.0.6":"2025-11-20T12:00:13.094Z"},"author":{"name":"Alsania"},"license":"MIT","keywords":["mcp","gateway","proxy","alsania","fastapi","hybrid"],"description":"**Node.js MCP Bridge** for connecting to AlsaniaMCP core services.","maintainers":[{"name":"sigmasauer07","email":"sigma.sauer07@gmail.com"},{"name":"echo-dev","email":"alsaniasoftware@gmail.com"},{"name":"sigmasauer-dev","email":"sigmasauer.dev@gmail.com"}],"readme":"# @alsania-io/gateway\n\n**Node.js MCP Bridge** for connecting to AlsaniaMCP core services.\n\n![License](https://img.shields.io/badge/license-MIT-blue)\n![Node.js](https://img.shields.io/badge/Node.js-18+-green)\n![TypeScript](https://img.shields.io/badge/TypeScript-5.9+-blue)\n\n---\n\n## 🌐 Overview\n\nThe `@alsania-io/gateway` package provides a Node.js bridge for connecting to AlsaniaMCP core services. It implements the MCP (Model Context Protocol) client functionality, allowing Node.js applications to interact with MCP servers through the AlsaniaMCP gateway.\n\n## 🚀 Features\n\n- ✅ **MCP Protocol Support** - Full MCP client implementation with A2A (Agent-to-Agent) communication\n- ✅ **AlsaniaMCP Integration** - Connect to AlsaniaMCP core running on port 8050\n- ✅ **Tool Execution** - Call MCP tools with automatic fallback mechanisms\n- ✅ **Resource Management** - Access MCP resources and prompts\n- ✅ **TypeScript Support** - Full TypeScript definitions included\n- ✅ **Error Handling** - Comprehensive error handling and timeout management\n\n## 🚀 Features\n\n- ✅ **Universal Proxy Server** - Proxy any HTTP API with full request/response forwarding\n- ✅ **MCP Server Integration** - Route requests to multiple configured MCP servers\n- ✅ **JSON Configuration** - Easily add/manage MCP servers via `config/mcp_servers.json`\n- ✅ **Auto MCP Management** - Supervisor automatically starts/stops MCP servers\n- ✅ **OpenAPI Schema** - Fully compliant OpenAPI 3.1.0 for GPT actions\n- ✅ **Production Ready** - Live deployment with Cloudflare tunnel and SSL\n- ✅ **Security First** - URL validation, timeout handling, and error management\n\n## 📦 Installation\n\n```bash\nnpm install @alsania-io/gateway\n```\n\n### Prerequisites\n\n- Node.js 18+\n- Running AlsaniaMCP core service on port 8050 (default)\n- `axios` dependency (automatically installed)\n\n## 🚀 Quick Start\n\n```javascript\nimport { alsaniaBridge } from '@alsania-io/gateway';\n\n// Ensure connection to MCP core\nawait alsaniaBridge.ensureConnected();\n\n// List available tools\nconst tools = await alsaniaBridge.getTools();\nconsole.log('Available tools:', tools);\n\n// Call a tool\nconst result = await alsaniaBridge.callTool('example_tool', { param: 'value' });\nconsole.log('Tool result:', result);\n```\n\n### TypeScript Usage\n\n```typescript\nimport { AlsaniaMCPBridge } from '@alsania-io/gateway';\n\nconst bridge = new AlsaniaMCPBridge();\n\n// Customize connection URL if needed\nbridge.alsaniamcpBaseUrl = 'http://localhost:8050'; // default\n\nawait bridge.ensureConnected();\n```\n\n## 📖 API Reference\n\n### AlsaniaMCPBridge Class\n\nThe main bridge class for MCP communication.\n\n#### Constructor\n```typescript\nconst bridge = new AlsaniaMCPBridge();\n```\n\n#### Properties\n- `alsaniamcpBaseUrl: string` - MCP core URL (default: \"http://localhost:8050\")\n- `isConnected: boolean` - Connection status\n- `a2aPeerId: string` - Unique peer identifier\n\n#### Methods\n\n##### `ensureConnected(): Promise<void>`\nEstablishes connection to MCP core and registers as A2A peer.\n\n##### `callTool(toolName: string, args: any): Promise<any>`\nCalls an MCP tool with the given arguments. Automatically falls back from A2A to HTTP if needed.\n\n**Parameters:**\n- `toolName`: Name of the tool to call\n- `args`: Arguments object for the tool\n\n**Returns:** Tool execution result\n\n##### `getTools(): Promise<any[]>`\nRetrieves list of available MCP tools.\n\n**Returns:** Array of tool definitions\n\n##### `registerAsPeer(): Promise<void>`\nRegisters the bridge as an A2A peer with the MCP core.\n\n##### `handleA2AResponse(response: any): void`\nHandles incoming A2A responses (used internally).\n\n### Exported Instances\n\n#### `alsaniaBridge: AlsaniaMCPBridge`\nPre-configured singleton instance ready for immediate use.\n\n```javascript\nimport { alsaniaBridge } from '@alsania-io/gateway';\n\nawait alsaniaBridge.ensureConnected();\n// Ready to use\n```\n\n## 🔧 Configuration\n\n### Environment Variables\n\n```bash\n# Override MCP core URL\nexport ALSANIAMCP_URL=http://localhost:8050\n\n# Override peer ID\nexport A2A_PEER_ID=my-custom-peer\n```\n\n### Custom Configuration\n\n```javascript\nimport { AlsaniaMCPBridge } from '@alsania-io/gateway';\n\nconst bridge = new AlsaniaMCPBridge();\n\n// Configure custom MCP core URL\nbridge.alsaniamcpBaseUrl = 'https://my-mcp-core.com';\n\n// Configure custom peer ID\nbridge.a2aPeerId = 'my-app-peer';\n\nawait bridge.ensureConnected();\n```\n\n## 🔄 A2A Communication\n\nThe bridge implements Agent-to-Agent (A2A) communication protocol for efficient MCP interactions:\n\n- **Primary:** A2A messaging with correlation IDs and TTL\n- **Fallback:** Direct HTTP calls to MCP endpoints\n- **Timeout:** 25 seconds for A2A requests, 30 seconds for HTTP\n- **Peer Registration:** Automatic registration as \"gateway-bridge\" peer\n\n## 🌐 Connection Requirements\n\n### MCP Core Service\n\nThe bridge requires a running AlsaniaMCP core service:\n\n```bash\n# Start MCP core (separate service)\nnpx @alsania-io/mcp server start -p 8050\n```\n\n### Connection URLs\n\n| Environment     | URL                      | Notes                              |\n| --------------- | ------------------------ | ---------------------------------- |\n| **Local Dev**   | `http://localhost:8050` | Default development setup          |\n| **Production**  | `https://mcp-core.com`  | HTTPS recommended for production   |\n| **Docker**      | `http://mcp-core:8050`  | Container networking              |\n\n### Peer Registration\n\nThe bridge automatically registers as an A2A peer with these capabilities:\n- `execute_tool` - Execute MCP tools\n- `list_tools` - List available tools\n- `list_resources` - Access MCP resources\n\n## 🤝 Integration Examples\n\n### Express.js Application\n\n```javascript\nconst express = require('express');\nconst { alsaniaBridge } = require('@alsania-io/gateway');\n\nconst app = express();\napp.use(express.json());\n\napp.post('/api/tool', async (req, res) => {\n  try {\n    await alsaniaBridge.ensureConnected();\n    const result = await alsaniaBridge.callTool(req.body.toolName, req.body.args);\n    res.json(result);\n  } catch (error) {\n    res.status(500).json({ error: error.message });\n  }\n});\n\napp.listen(3000, () => console.log('Server running on port 3000'));\n```\n\n### React Component\n\n```javascript\nimport React, { useState, useEffect } from 'react';\nimport { alsaniaBridge } from '@alsania-io/gateway';\n\nfunction ToolCaller() {\n  const [tools, setTools] = useState([]);\n  const [result, setResult] = useState(null);\n\n  useEffect(() => {\n    const loadTools = async () => {\n      try {\n        await alsaniaBridge.ensureConnected();\n        const toolList = await alsaniaBridge.getTools();\n        setTools(toolList);\n      } catch (error) {\n        console.error('Failed to load tools:', error);\n      }\n    };\n    loadTools();\n  }, []);\n\n  const callTool = async (toolName, args) => {\n    const response = await alsaniaBridge.callTool(toolName, args);\n    setResult(response);\n  };\n\n  return (\n    <div>\n      {/* Your component JSX */}\n    </div>\n  );\n}\n```\n\n## 📝 Testing\n\n```bash\n# Install dependencies\nnpm install\n\n# Run your application tests\nnpm test\n\n# Test MCP connection\nnode -e \"\nconst { alsaniaBridge } = require('@alsania-io/gateway');\nalsaniaBridge.ensureConnected().then(() => {\n  console.log('✅ Connected to MCP core');\n  return alsaniaBridge.getTools();\n}).then(tools => {\n  console.log('Available tools:', tools.length);\n}).catch(console.error);\n\"\n```\n\n## 🔒 Security\n\n- **Connection Validation** - Verifies MCP core availability before operations\n- **Timeout Protection** - A2A requests timeout at 25s, HTTP at 30s\n- **Error Sanitization** - Sensitive data not exposed in error messages\n- **Peer Authentication** - A2A peer registration with unique identifiers\n\n## 📊 Error Handling\n\nThe bridge implements comprehensive error handling:\n\n- **Connection Failures** - Automatic retry with fallback mechanisms\n- **A2A Timeouts** - Graceful degradation to HTTP transport\n- **Tool Errors** - Detailed error reporting with correlation IDs\n- **Network Issues** - Robust axios configuration with retries\n\n## 🪪 License\n\nLicensed under MIT License.\n\n## 🤝 Contributing\n\nContributions are welcome! Please follow these guidelines:\n\n- Use TypeScript for new code\n- Add comprehensive error handling\n- Include JSDoc comments for public APIs\n- Test your changes thoroughly\n- Follow existing code style and patterns\n\n## 📞 Support\n\nBuilt for the Alsania Echo-Sys by Sigma and Echo.\n\nFor issues and questions:\n- Check MCP core is running on port 8050\n- Verify network connectivity to MCP endpoints\n- Review error messages for specific failure modes\n\n---\n\n# Aligned with the Alsania AI Protocol v1.0\n\n# Imagined by Sigma. Powered by Echo.\n","readmeFilename":"README.md"}