igate
v1.0.11
Published
MCP server that incorporates MCP Servers under a unified API
Maintainers
Readme
iGate
iGate is a tool for managing and orchestrating MCP Servers. It provides a unified interface for interacting with various services, making it easier to build and maintain complex applications.
Usage
- Create a custom
mcp.jsonfile with all MCP servers you want to use. For example:
{
"servers": {
"your-server-name": {
"command": "your-server-command",
"args": ["your", "server", "arguments"]
}
}
}- Create ENV varible
IGATE_SERVERSand export it:
export IGATE_SERVERS=$(cat ~/<path-to-your-custom>/mcp.json)- Add iGate to your
mcp.jsonfile:
{
"servers": {
"igate": {
"command": "npx",
"args": ["igate"]
}
}
}- Start iGate and verify it's working by asking: "show all igate available tools"
Configuration
In custom mcp.json, you can configure iGate with the following options:
igate.allow: An array of allowed tools for iGate to use. Only tools listed here will be accessible. Example:
{
"servers": {
"context7-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"--node-options=--experimental-fetch",
"@upstash/context7-mcp@latest"
],
"igate": {
"allow": ["resolve-library-id", "get-library-docs"]
}
}
}
}igate.deny: An array of denied tools for iGate. Deny tools listed here won't be accessible. Example:
{
"servers": {
"context7-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"--node-options=--experimental-fetch",
"@upstash/context7-mcp@latest"
],
"igate": {
"deny": ["resolve-library-id"]
}
}
}
}${ENV_VAR}: You can use environment variables in theheadersandenvfields to dynamically set values based on your environment. Example:
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ${GITHUB_PAT}"
}
}
}
}