Skip to content
Back to skills

Llm Router

ASecurity

List the models the three.ws multi-provider LLM router can run and get a chat completion from any of them through the brain-mcp tools. Use when asked to get a second opinion from a different model or to compare model answers.

  • 274 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsapi

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add nirholas/three.ws --skill llm-router --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Llm Router?

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

Security grade badge for Llm Router
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nirholas-llm-router/badge)](https://www.skillsdirectory.com/skills/nirholas-llm-router)

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: llm-router
description: List the models the three.ws multi-provider LLM router can run and get a chat completion from any of them through the brain-mcp tools. Use when asked to get a second opinion from a different model or to compare model answers.
---

# three.ws LLM router

The plugin starts `@three-ws/brain-mcp` over stdio (`npx -y @three-ws/brain-mcp`). It wraps the router at `/api/brain/chat` on three.ws.

## Environment

- `THREE_WS_API_KEY` (optional): sent as `Authorization: Bearer <key>`. Paid first-party flagships need it. The free open-weight tiers (the default `gpt-oss-120b` and the NVIDIA NIM models) work without it. Never print the key.
- `THREE_WS_BASE`: API origin, default `https://three.ws`.
- `THREE_WS_TIMEOUT_MS`: per-request timeout in milliseconds.

## Tools

| Tool | Arguments | Endpoint |
| --- | --- | --- |
| `list_providers` | none | `GET /api/brain/chat` |
| `chat` | `messages` (required, 1-100 items of `{ role: "user" or "assistant", content }`), `provider` (key from `list_providers`, default `gpt-oss-120b`), `system` (up to 8000 characters), `maxTokens` (64-16384, default 4096) | `POST /api/brain/chat` |

`list_providers` returns one entry per model with `key` (the value to pass as `provider`), `label`, `network` (the upstream vendor), `tier`, `maxOutput`, `available` (a working route exists right now) and `requiresAuth` (true when a three.ws API key is needed). It also reports `default_provider`. `chat` returns the full reply as one message, plus the route actually taken, token usage and timing. It does not change platform state.

## How to use them

1. Call `list_providers` first. Do not guess provider keys, since the configured set changes.
2. Pick a model that fits the task and call `chat` with `provider` set to its `key`. Put instructions in `system`, not in a user turn.
3. Prefer entries with `available: true`. When `requiresAuth` is true and no `THREE_WS_API_KEY` is set, tell the user a key is needed, or choose an entry with `requiresAuth: false`.

## Worked example

Request: "Ask a second model to review this answer."

Call `list_providers`, choose a key different from the model you are running on, then call `chat` with `{ "provider": "<key>", "system": "You are a careful reviewer.", "messages": [{ "role": "user", "content": "Review this answer for errors: ..." }] }`. Report the reply and which provider produced it.

## Notes

- Messages sent through `chat` leave the machine for the chosen provider. Do not send secrets or private data unless the user agrees.

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.

View all in ai-agents →

Comments

Loading comments…

Newsletter

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