The IGPT MCP connector routes your AI agent's tool calls to IGPT's own MCP server through Scalekit. Each user signs in to IGPT once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 2 tools.
- Tools
- 2
- What they doRead · write · destructive
- 1 · 1 · 01 read1 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the IGPT MCP connection
In AgentKit > Connections, create an IGPT MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for IGPT MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'igptmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize IGPT MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'igptmcp_search',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "igptmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize IGPT MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="igptmcp_search",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooligptmcp_searchSearch connected datasources which include documents and messagesRead-onlySearch
Search connected datasources which include documents and messages
Inputs
date_fromstring- Optional lower bound (inclusive) date for filtering results by their timestamp, date only (e.g. 2025-01-01). Only set this when the user explicitly specifies a concrete start date or range.
date_tostring- Optional upper bound (inclusive) date for filtering results by their timestamp, date only (e.g. 2025-01-01). Only set this when the user explicitly specifies a concrete start date or range.
querystring- Optional search query. When provided, the tool performs a hybrid search (semantic + full-text). When omitted or empty, the tool returns results sorted in descending ordered by recency.
igptmcp_askSends user question to backend and returns answer based on connected datasources which include documents and messagesWriteAsk
Sends user question to backend and returns answer based on connected datasources which include documents and messages
Inputs
inputstringrequired- User input question
output_formatstring- Output format. Use "json" for a automatic generic object, or provide a JSON Schema to enforce a specific output structure ex:{"schema":{"type":"object"}}default
json
No tools match.