Atoti Intelligence SDK
This is part of the Atoti Intelligence SDK offer.getConnectedServers, and
resilience), see How connecting to other MCP Servers works.
Prerequisites
- An Atoti Python project
- A license including the Atoti Intelligence Extension tier, which itself requires Essentials
How to install the package
How to declare a connection
Pass anAiConfig with an mcp attribute to SessionConfig
when starting the session. The mcp attribute takes a McpClientConfig, mapping the name the
session gives a server to that server’s own configuration. Use StreamableHttpMcpServerConfig for a server
reached over Streamable HTTP, and StdioMcpServerConfig for one run as a local process.
Below, pnl-server is an Atoti Server reached over HTTP, authenticated with a token minted for the
calling user. filesystem is a local MCP Server started as a stdio process:
StreamableHttpMcpServerConfig parameters
See Which authentication modes are available?
for what each
authentication value sends and when to choose it.
StdioMcpServerConfig parameters
A server declared with
StdioMcpServerConfig runs as a local process and identifies itself by being that process. It accepts no authentication parameter.Which server names are invalid?
A server name cannot be empty and cannot contain a., which would read as a separator between
configuration keys. Building the configuration refuses such a name. The name also prefixes every
tool taken from that server, after normalization. Two names normalizing to the same prefix make the
session refuse to start. See
How are remote tools named? for the normalization rule
and the 64-character limit on tool names.
Where do remote tools appear?
They are offered to the LLM in chat, alongside the session’s own tools. They are also reported on the session’s own MCP endpoint atf"{session.url}/mcp", per calling client. No LLM is required for
that: an LLM is only required for chat.
How to authenticate with atoti-jwt
Both sessions must share a JWT signing key. From Python, pass the same
atoti.KeyPair
to both: tt.SessionConfig(security=tt.SecurityConfig(jwt=tt.JwtConfig(key_pair=key_pair))). Against
a Java Atoti Server, that server’s atoti.jwt.key property must match the same key pair; see
Connect to other MCP Servers in Java.