Name tools and schemas from the live catalog and Scalekit MCP. Then stop.
Guardrails
- MUST treat the live catalog and Scalekit MCP as the source of truth. Do not cache a connector list in the repo.
- MUST page
list_tools/search_toolsuntil the next-page token is empty. One call is not the full catalog. - MUST NOT execute tools or authorize a connected account. Name
integrate-agentkitfor that. - MUST ask the user to write missing
SCALEKIT_*values into this project's.envwhen Scalekit MCP is not connected. MUST NOT invent them or skip the ask.
Gotchas
- Read SDK credentials from
SCALEKIT_ENVIRONMENT_URL,SCALEKIT_CLIENT_ID, andSCALEKIT_CLIENT_SECRET. Some samples useSCALEKIT_ENV_URL; useSCALEKIT_ENVIRONMENT_URLhere. - A connection is dashboard connector config. A connected account is one user authorized on that connection. This skill names tools. It does not create either.
- Use
connectorin prose. Useprovideronly when the SDK field is literallyproviderorproviders. Filter.provideris the connector identifier from the catalog orsearch_connectors(for exampleGMAIL). It is not the dashboard Connection Name.- Framework helpers such as
actions.langchain.get_toolsneed a connected-account identifier and hide pagination. Useactions.tools.list_toolshere. - Output schemas are not in the tool definition. Use the connector's official API docs for response shape.
- Default language is Python. If the repo is Node, open references/node.md. If the language is unknown, stay on Python.
Step 1 — Name the connector
Open https://docs.scalekit.com/agentkit/connectors.md. If Scalekit MCP at https://mcp.scalekit.com is connected, call search_connectors instead of copying that page.
If the user already named a connector, use that identifier. Do not invent a slug.
Done when: a connector identifier is written down (for example GMAIL).
Step 2 — Init the SDK
If the repo is Node, follow references/node.md from here.
If Scalekit MCP is already connected, skip this step and go to Step 3.
If env vars are missing, collect them from app.scalekit.com → Developers → Settings → API Credentials. Ask the user to put them in this project's env file. Do not invent values. Do not skip this ask because the catalog page already lists tools.
pip install scalekit-sdk-python python-dotenv
from scalekit import ScalekitClient
from scalekit.v1.tools.tools_pb2 import Filter
from google.protobuf.json_format import MessageToDict
import os
from dotenv import load_dotenv
load_dotenv()
sk_client = ScalekitClient(
client_id=os.getenv("SCALEKIT_CLIENT_ID"),
client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
)
tools = sk_client.actions.tools
Done when: MCP is connected, or you have asked the user to write the three names into this project's .env and shown the client init from those env vars. Source files do not hardcode the secret.
Step 3 — Page tools and schemas
If Scalekit MCP is connected, call search_tools with the connector identifier. Set summary=false for input schemas. Pass pageToken until the response has no next page.
Otherwise page the SDK. Replace "GMAIL" with the identifier from Step 1.
page_token = None
while True:
page, _ = tools.list_tools(
filter=Filter(provider="GMAIL"),
page_size=100,
page_token=page_token,
)
for tool in page.tools:
definition = MessageToDict(tool.definition) if tool.definition else {}
print(definition.get("name"), definition.get("description"))
print(definition.get("input_schema"))
page_token = page.next_page_token or None
if not page_token:
break
For one tool by name:
page, _ = tools.list_tools(
filter=Filter(tool_name=["gmail_fetch_mails"]),
page_size=1,
)
If the list is empty, the identifier does not match the live catalog. Re-run Step 1.
Done when: every page is collected, or the named tool's schema is printed.
Step 4 — Summarize and stop
For each useful tool, record:
- tool name
- connector
- what it does
- required fields from
input_schema.required - optional fields from
input_schema.properties
Recommend the smallest tool set for the user's workflow. Then stop.
Done when: the user has a named tool list and input schemas. No tool was executed. No connected account was authorized.
Reach for
integrate-agentkitto create a connected account and call one APIexpose-agentkit-mcpto expose tools over MCP- references/node.md for the Node SDK path
Live lookups
- Docs index: https://docs.scalekit.com/llms.txt
- Connector catalog: https://docs.scalekit.com/agentkit/connectors.md
- MCP: https://mcp.scalekit.com