FAQ
Frequently asked questions about the isA platform.
General
What is isA?
isA is a complete platform for building, deploying, and scaling AI agents. It includes:
- Agent SDK - Python library for building agents
- MCP - 190+ pre-built tools for agents
- Model Service - Unified LLM gateway
- User Services - 35 microservices for auth, payments, storage
- Cloud - Production-ready Kubernetes infrastructure
Is isA open source?
Yes, isA is open source. You can find all repositories at github.com/xenoISA .
What models does isA support?
isA supports multiple LLM providers:
| Provider | Models |
|---|---|
| Anthropic | Claude claude-sonnet-4-20250514, Claude Opus, Claude Haiku |
| OpenAI | GPT-4o, GPT-4o-mini, GPT-4 Turbo |
| Gemini Pro, Gemini Ultra | |
| Local | Any Ollama-compatible model |
How much does isA cost?
- Self-hosted: Free (you pay for infrastructure)
- Cloud hosted: Usage-based pricing (planned — see Platform for updates)
Model costs are passed through at provider rates.
Agent SDK
How do I install the SDK?
pip install isa-agent-sdkHow do I create a simple agent?
The fastest way is with query() or ask():
from isa_agent_sdk import query, ask
# Streaming (recommended)
async for msg in query("What is 2+2?"):
if msg.is_text:
print(msg.content, end="")
# One-shot (returns final text)
response = await ask("What is 2+2?")
print(response)Or use the Agent class for reusable agents:
from isa_agent_sdk import Agent, ISAAgentOptions
agent = Agent(
name="my-agent",
options=ISAAgentOptions(
allowed_tools=["web_search", "calculator"],
model="claude-sonnet-4-20250514",
)
)
result = await agent.run("What is 2+2?")
print(result.text)Can agents remember previous conversations?
Yes, use session_id to maintain context across calls:
from isa_agent_sdk import query
async for msg in query("My name is Alice", session_id="session-123"):
print(msg.content, end="")
# Later, same session resumes context
async for msg in query("What's my name?", session_id="session-123"):
print(msg.content, end="") # "Your name is Alice"See Memory & State for persistent memory backends (Redis, PostgreSQL, Qdrant).
How do I add custom tools?
from isa_agent_sdk import Agent, ISAAgentOptions, tool
@tool
def my_custom_tool(query: str) -> str:
"""Search my database."""
return database.search(query)
agent = Agent(
name="custom-agent",
options=ISAAgentOptions(tools=[my_custom_tool])
)Can I use multiple models in one agent?
Yes, specify the model in options or per-call:
from isa_agent_sdk import query
# Use a specific model
async for msg in query("Complex reasoning task", model="claude-opus-4-20250514"):
print(msg.content, end="")
# Or configure in options
from isa_agent_sdk import ISAAgentOptions
options = ISAAgentOptions(model="gpt-4o-mini")
async for msg in query("Quick task", options=options):
print(msg.content, end="")MCP Tools
What tools are available?
Over 190 tools across categories:
- Search: web_search, image_search, news_search
- Files: file_read, file_write, file_list, file_delete
- Code: code_interpreter, shell, git
- Browser: browser_navigate, browser_click, browser_screenshot
- Database: postgres_query, redis_get, neo4j_query
- APIs: http_request, graphql_query
See the full tools list.
How do I use a tool directly?
from isa_mcp import tools
result = await tools.web_search("latest AI news")Can I create custom MCP tools?
Yes, see the tool development guide.
Deployment
What are the system requirements?
Minimum (development):
- 4 CPU cores
- 8 GB RAM
- 50 GB disk
Recommended (production):
- 8+ CPU cores
- 32+ GB RAM
- 200+ GB SSD
- Kubernetes cluster
How do I deploy locally?
cd deployments/kubernetes/local/scripts
./kind-setup.sh
./kind-deploy.shHow do I deploy to production?
- Set up a Kubernetes cluster (EKS, GKE, or self-managed)
- Install ArgoCD
- Connect your repository
- Push to
mainbranch
See the deployment guide.
Can I use my own infrastructure?
Yes, isA is fully self-hostable. You can:
- Use your own Kubernetes cluster
- Bring your own databases
- Use your own model API keys
Security
How is data encrypted?
- At rest: AES-256 encryption
- In transit: TLS 1.3
- Secrets: Stored in Vault or AWS Secrets Manager
How does authentication work?
isA uses JWT tokens for API authentication:
- User authenticates via
/auth/login - Receives JWT access token + refresh token
- Include token in
Authorization: Bearer <token>header - Token validated by APISIX gateway
Is there RBAC support?
Yes, isA has fine-grained role-based access control:
- Organizations with multiple roles
- Resource-level permissions
- API scope restrictions
See authentication docs.
Is isA SOC 2 compliant?
Self-hosted deployments inherit your compliance posture. Cloud-hosted SOC 2 Type II compliance is planned.
Troubleshooting
Agent not responding?
- Check your API key is set:
echo $ISA_API_KEY - Verify model service is running
- Check logs:
kubectl logs -l app=model-service
Tools not working?
- Verify tool is installed:
isa tools list - Check MCP service:
curl http://localhost:8081/health - Review tool permissions
Slow responses?
- Enable caching in model service
- Use streaming for long responses
- Consider a faster model (e.g.,
gpt-4o-mini)
Memory issues?
- Clear old memories:
agent.memory.clear() - Use memory limits:
memory={"max_items": 100} - Check Redis memory:
redis-cli INFO memory
Getting Help
Where can I get support?
- GitHub Issues - Bug reports
- Discord - Community chat
- Documentation - Guides and references
How do I report a bug?
- Search existing issues
- Create a new issue with:
- isA version
- Steps to reproduce
- Expected vs actual behavior
- Logs if available
How do I request a feature?
Open a GitHub Discussion with:
- Use case description
- Proposed solution
- Alternatives considered