Skip to content
Back to skills

Agent Tools

ASecurity

"Use when configuring LiteLLM for MCP tools, A2A agents, Claude

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
ai-agentsrailsapi

Works with

  • claude code
  • cursor
  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill agent-tools --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Agent Tools?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Agent Tools
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-agent-tools/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-agent-tools)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: agent-tools
description: "Use when configuring LiteLLM for MCP tools, A2A agents, Claude
  Code/Cursor agent gateway traffic, MCP auth/OAuth, tool permissions, semantic
  filtering, or agent-specific proxy routes."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# Agent Tools

Use this sub-skill for LiteLLM workflows that expose tools or agents through the proxy. Route generic proxy setup to `../proxy-server/SKILL.md`, provider endpoint details to `../providers-and-endpoints/SKILL.md`, and SDK-only `tools` or `tool_choice` completion parameters to `../sdk-core/SKILL.md`.

## Choose the workflow

- MCP gateway for tools: configure `mcp_servers`, start the proxy, connect MCP-aware clients to `/mcp` or a scoped `/mcp/{server}` / `/{server}/mcp` endpoint, then validate tool discovery and auth headers with `references/mcp-workflows.md`.
- A2A agents: register or configure agents, discover them at `/v1/agents`, call JSON-RPC through `/a2a/{agent_id}`, or call a registered agent from LiteLLM routes with model name `a2a/<agent-name>`; see `references/a2a-workflows.md`.
- Claude Code and Cursor gateway traffic: make the client base URL point at the LiteLLM proxy endpoint that matches the client protocol, ensure requested model names match proxy `model_name` entries, and troubleshoot base URL/header confusion with `references/agent-gateway-troubleshooting.md`.
- Tool approval and policy: use proxy guardrails such as `tool_permission`, MCP server `allowed_tools` / `disallowed_tools`, key/team `mcp_tool_permissions`, and optional MCP semantic filtering before enabling broad tool access.
- Offline inspection: use `scripts/inspect_mcp_tools.py` to validate a JSON file containing OpenAI-format tool definitions or MCP server metadata without connecting to any external MCP server.

## Minimal MCP gateway config

```yaml
model_list:
  - model_name: claude-3-5-sonnet
    litellm_params:
      model: anthropic/claude-3-5-sonnet-20241022
      api_key: os.environ/ANTHROPIC_API_KEY

mcp_servers:
  docs:
    url: https://example.invalid/mcp
    transport: http
    auth_type: authorization
    alias: docs

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY
```

Start the proxy with `litellm --config config.yaml`, then point an MCP client at `http://localhost:4000/mcp` with `Authorization: Bearer <litellm-key>` and `x-mcp-servers: docs`. For per-server upstream auth, prefer `x-mcp-docs-authorization: Bearer <upstream-token>` over a broad legacy `x-mcp-auth` header.

## Minimal A2A agent config

```yaml
agents:
  - agent_name: research-agent
    agent_card_params:
      name: Research Agent
      description: Answers research questions
      url: https://agent.example.invalid/
      version: "1.0.0"
      protocolVersion: "0.3.0"
      capabilities:
        streaming: true
      defaultInputModes: [text]
      defaultOutputModes: [text]
      skills:
        - id: research
          name: Research
          description: Research public information
          tags: [research]
    litellm_params: {}
```

Clients can discover with `GET /v1/agents`, send A2A JSON-RPC to `/a2a/research-agent`, or call LiteLLM chat/completion routes with `model: a2a/research-agent` when the agent is registered and the key/team is allowed to use it.

## Validation checklist

- Confirm optional dependencies before using advanced flows: MCP needs the proxy MCP extra; direct A2A examples require `a2a-sdk`.
- Keep server identity consistent: `server_name`, `alias`, path-scoped MCP endpoint, `x-mcp-servers`, and `x-mcp-<server>-authorization` must refer to the same server label. Header matching is case-insensitive and checks alias before server name.
- Check auth precedence: server-specific MCP auth headers override legacy `x-mcp-auth`; OAuth per-user headers can override configured static tokens; config `auth_value` / `authentication_token` is used when no request header supplies auth.
- Verify agent permissions: non-admin keys can be denied for `a2a/<agent-name>` if key/team object permissions or access groups do not include the agent id.
- Inspect proxy logs for the exact model, MCP server, or agent name requested by Claude Code, Cursor, or an A2A client.

## References

- `references/mcp-workflows.md`: MCP gateway setup, clients, auth, OAuth, permissions, semantic filtering, and offline inspection.
- `references/a2a-workflows.md`: A2A registration, discovery, direct JSON-RPC, LiteLLM `a2a/` routing, and key/team permissions.
- `references/agent-gateway-troubleshooting.md`: Claude Code, Cursor, MCP/A2A failures, OAuth cache, semantic filters, and common access-denied paths.

Files in this skill

  • SKILL.md4.6 KB
  • references/a2a-workflows.md6.3 KB
  • references/agent-gateway-troubleshooting.md7.2 KB
  • references/mcp-workflows.md7.9 KB
  • scripts/inspect_mcp_tools.py9.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.