Many useful tools already speak the Model Context Protocol. Before an SDK can use them, developers often need an adapter for each provider, a way to translate tool definitions and a separate connection path for credentials. IaGenify SDK 0.3.0 adds an MCP client so a compatible server can be connected through a common interface.
Connect once, select what is available
The connection identifies the server URL and can include its authentication token. Developers can name the tools they want to make available. If no tool list is supplied, the connection enables no tools by default; choosing an explicit list keeps the integration narrow and understandable.
await api.mcp.connect({
name: "team-tools",
url: "https://tools.example.com/mcp",
token: process.env.TOOLS_TOKEN,
tools: ["search", "get_record"],
});The example uses a generic server and environment variable. Application code should keep credentials in its runtime's secret store and should never place a real token in a client bundle, article, log or source repository.
Give an agent a deliberate tool set
Once a connection exists, an agent can be configured to use selected MCP servers. The agent receives the tools associated with those connections alongside its other configured tools. A developer can also retrieve MCP tool definitions and pass them to a custom model-turn loop without adopting the SDK's agent loop.
const agent = api.agents.create({
runtime: "local",
machine,
model: "your-model",
mcp: ["team-tools"],
});
const definitions = await api.mcp.tools();The `mcp` option makes the selection visible at the point where the agent is created. Leaving that option out uses the account's connected servers; setting it to an empty list explicitly uses none. That gives application authors a clear way to decide whether an agent should see external tools.
Permissions remain part of the integration
MCP makes tool access easier to connect, but it does not remove the need to think about what those tools can do. The SDK follows the connected server's permissions and the agent's execution mode. An application should choose only the servers and tools needed for a task, then keep confirmation requirements appropriate for actions that change data or affect other people.
This is especially useful when a team already has tools behind an MCP server. Instead of maintaining a separate IaGenify adapter for each service, the developer can use the protocol boundary, keep the integration list explicit and let the existing server define its available operations.
One protocol, two ways to use it
Some applications want IaGenify to run the agent loop and select tools for it. Others already have their own orchestration and need only the MCP tool declarations. Supporting both paths keeps the integration useful without requiring every developer to adopt one application architecture.
Connect the tools your team already has, choose what an agent may see, and keep the integration boundary visible in code.
SDK 0.3.0 brings MCP into the developer surface as a first-class connection type. It makes the protocol easier to use while leaving tool selection and permission decisions with the application that owns the task.
Frequently asked questions
Does MCP require a custom IaGenify adapter for every service?
No. The SDK connects to compatible MCP servers through a common client interface.
Are all tools exposed as soon as a server connects?
No. The connection supports an explicit tool allowlist, and with no list supplied no tools are enabled by default.
Can I use MCP without `api.agents`?
Yes. `api.mcp.tools()` provides definitions for an application that runs its own model-turn loop.
Where should I store an MCP token?
Use a server-side secret store or environment configuration; do not embed real credentials in browser code or source control.