Agent Exchange
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| XAI_MODEL | No | Default xAI model (adjust to whatever your account offers). | grok-4 |
| XAI_API_KEY | No | xAI (Grok) credentials. There is no default; only needed if you use the xAI provider. | |
| OPENAI_MODEL | No | Default OpenAI model (adjust to whatever your account offers). | gpt-5 |
| XAI_BASE_URL | No | Base URL for the xAI API. | https://api.x.ai/v1 |
| OPENAI_API_KEY | No | OpenAI credentials. There is no default; only needed if you use the OpenAI provider. | |
| ANTHROPIC_MODEL | No | Default Anthropic model to use. | claude-opus-5-5 |
| OPENAI_BASE_URL | No | Base URL for the OpenAI API (defaults to the official OpenAI endpoint). | OpenAI |
| ANTHROPIC_API_KEY | No | Anthropic (Claude) credentials. There is no default; only needed if you use the Anthropic provider. | |
| AGENT_EXCHANGE_DATA_DIR | No | Where conversations are saved (each conversation is a JSON file `<conversation_id>.json` in this directory). | ~/.local/share/agent-exchange/conversations |
| AGENT_EXCHANGE_ENV_FILE | No | Path to the .env file to read settings from (default: `.env` in the project root or the current directory). Real environment variables take precedence over .env. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| chatA | Send a message to another AI model and get its reply. Omit conversation_id to start a new conversation; pass the returned conversation_id to continue it (history is saved to disk, and you may switch provider between turns). Args: message: The user message. conversation_id: Continue an existing conversation. provider: Provider to use. If omitted: a continued conversation keeps its last provider; a new one asks the user to choose (via the client UI when supported). model: Model ID override for this turn. system: System prompt (only applied when starting a conversation). max_tokens: Maximum tokens in the reply. effort: Thinking effort (Anthropic only; ignored by other providers). |
| list_providersA | List configured providers, their default models, and whether an API key is set. |
| list_conversationsA | List active conversations (id, turn count, system prompt). |
| reset_conversationC | Delete a conversation and its history. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
chat is the sole action tool, while list_providers, list_conversations, and reset_conversation are clearly scoped to different resources. There is no meaningful overlap between messaging and conversation/provider management.
Three tools follow a clear verb_noun pattern (list_providers, list_conversations, reset_conversation), but chat is a single-word noun/verb that breaks the pattern slightly. The set remains readable and predictable overall.
Four tools cleanly cover the server's narrow scope: sending messages, discovering providers, inspecting conversations, and deleting a conversation. No tool feels redundant, and the set is not bloated.
Core conversation lifecycle is covered (start/continue/delete/list) and providers can be listed. However, there is no get_conversation or history-retrieval tool, and provider/model management is read-only, leaving minor gaps.