> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xentfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ElizaOS

> Connect XentFi agent tools to an ElizaOS agent via its MCP plugin.

ElizaOS agents reach MCP servers through the community **MCP plugin** (`@elizaos/plugin-mcp` or equivalent, depending on your ElizaOS version), which connects to one or more MCP servers and exposes their tools as Eliza actions.

<Steps>
  <Step title="Install the MCP plugin">
    ```bash theme={null}
    npm install @elizaos/plugin-mcp
    ```
  </Step>

  <Step title="Configure the XentFi server">
    In your character file (or wherever your ElizaOS setup declares plugin config):

    ```json theme={null}
    {
        "name": "MyTradingAgent",
        "plugins": [
            "@elizaos/plugin-mcp"
        ],
        "settings": {
            "mcp": {
                "servers": {
                    "xentfi": {
                        "type": "stdio",
                        "command": "npx",
                        "args": [
                            "-y",
                            "@xentfi/mcp-server"
                        ],
                        "env": {
                            "XENTFI_AGENT_KEY": "sk_agent_xxx",
                        }
                    }
                }
            }
        }
    }
    ```

    If your ElizaOS version reads MCP config from environment variables instead, set `XENTFI_AGENT_KEY` / `XENTFI_ORG_ID` directly and point the plugin's server command at `npx -y @xentfi/mcp-server` per its own docs.
  </Step>

  <Step title="Verify">
    Start your Eliza runtime and check the logs for the MCP plugin discovering the `xentfi` server and its tools. Then message your agent: *"What's the balance of my wallet?"* — it should route to `xentfi_list_wallets` + `xentfi_get_wallet_balance` automatically.
  </Step>
</Steps>

## Autonomous agent considerations

ElizaOS agents are often designed to act with minimal human-in-the-loop review, which makes XentFi's server-side Policy enforcement especially important:

<AccordionGroup>
  <Accordion title="Set tight limits and an allowlist">
    Configure `perTransactionLimitUsd` / `dailyLimitUsd` and an explicit `allowedRecipients` allowlist on the Policy attached to this agent's API key in the XentFi dashboard.
  </Accordion>

  <Accordion title="Don't auto-confirm payments">
    `xentfi_create_payment` still requires `confirm: true` from the caller — make sure your character/action logic sets it deliberately once it has decided to pay, rather than always passing `true` reflexively.
  </Accordion>

  <Accordion title="Self-check against policy before large payments">
    Use `xentfi_get_policy` in your agent's planning step before large or unusual payments so it can reason about limits rather than discover a `POLICY_DENIED` after the fact.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Tools Reference" icon="list" href="/agent/tools-reference">
    See every available tool.
  </Card>

  <Card title="CrewAI" icon="puzzle" href="/agent/crewai">
    Another Python-based multi-agent framework option.
  </Card>
</CardGroup>
