Skip to main content
Glama

taskforce

AI agent-oriented multi-LLM roundtable library.

Multiple top-tier LLMs (GPT, Grok, Claude, Gemini) are queried in parallel with the same agenda, and the collected opinions are classified into common / divergent / unique perspectives, returned as a structured IdeaPool.

This package is designed for AI agents, not for direct human use. The primary interface is the MCP wrapper (roundtable_discuss tool), which allows agents to invoke a roundtable discussion as a tool call. A Python API is also available for programmatic integration.

Quick Start

1. Install

pip install ff-taskforce

For MCP server support:

pip install ff-taskforce[mcp]

2. Set environment variables

At least two provider API keys are required (one will be excluded as the caller). XAI_API_KEY is always required (used by the summarizer).

OPENAI_API_KEY=sk-...
XAI_API_KEY=xai-...
ANTHROPIC_API_KEY=sk-ant-...
GEMINI_API_KEY=AI...

Add to your MCP server config:

TASKFORCE_CALLER_PROVIDER is the provider of the agent that will call this tool. The matching provider's model is excluded from the panel -- querying the same model that is already reasoning adds no diversity. For example, if Claude Code is the caller, set it to "anthropic" so Claude is excluded from the panel.

{
  "mcpServers": {
    "taskforce": {
      "command": "python",
      "args": ["-m", "taskforce.mcp_wrapper"],
      "env": {
        "TASKFORCE_CALLER_PROVIDER": "anthropic"
      }
    }
  }
}

The agent can then call the roundtable_discuss tool with agenda and context parameters.

4. Use as Python library

from taskforce import Taskforce

tf = Taskforce(caller_provider="anthropic")
pool = tf.discuss(
    agenda="Evaluate the trade-offs of approach A vs B",
    context="<detailed context here>"
)

# pool.common    -- list[str]: points most models agree on
# pool.divergent -- list[DivergentPoint]: topics with differing positions
# pool.unique    -- list[UniquePoint]: points raised by only one model

Related MCP server: consensus-mcp

Important Notes

  • Paid API calls. Every discuss() invocation calls multiple LLM APIs in parallel. Agents should confirm with the user before calling.

  • caller_provider exclusion. The model from the same provider as the calling agent is excluded from the panel to maximize perspective diversity.

  • XAI_API_KEY is mandatory. The summarizer (grok-4-1-fast-non-reasoning) always uses the XAI key.

  • Rich context matters. Input tokens are cheap. Provide as much context as possible -- specifications, constraints, background, decisions already made -- so the panel can give concrete, actionable opinions instead of generic advice.

API

Taskforce(caller_provider, dotenv_path=None)

  • caller_provider (str): The LLM provider of the calling agent (e.g. "anthropic", "openai"). That provider's model is excluded from the panel.

  • dotenv_path (str | None): Path to .env file. Defaults to auto-discovery.

Taskforce.discuss(agenda, context="") -> IdeaPool

Synchronous wrapper. Queries the panel, summarizes, and returns an IdeaPool.

Taskforce.discuss_async(agenda, context="") -> IdeaPool

Async version for use in async contexts.

IdeaPool

Field

Type

Description

agenda

str

The original agenda

common

list[str]

Points most models agree on

divergent

list[DivergentPoint]

Topics with differing positions (topic, positions: dict[model, position])

unique

list[UniquePoint]

Points from a single model (point, source_model)

total_cost

float

Total API cost (USD)

total_tokens

int

Total tokens consumed

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gatesplan/taskforce'

If you have feedback or need assistance with the MCP directory API, please join our Discord server