Skip to main content

fipsagents

Production-ready AI agent framework for FIPS/Red Hat AI environments. Provides BaseAgent — a pure Python, async-first base class that handles LLM communication, tool dispatch, MCP connections, prompt loading, skill management, configuration, and lifecycle so your agent subclass stays small.

Install

pip install fipsagents[server]

With optional MemoryHub support:

pip install fipsagents[server,memory]

With Prometheus metrics endpoint:

pip install fipsagents[server,metrics]

With OpenTelemetry trace export:

pip install fipsagents[server,otel]

Or vendor the source directly into your project for full control:

fips-agents vendor

See VENDORED marker in src/fipsagents/ for provenance tracking.

Quick start

from fipsagents.baseagent import BaseAgent, StepResult

class MyAgent(BaseAgent):
    async def step(self) -> StepResult:
        response = await self.call_model()
        response = await self.run_tool_calls(response)
        return StepResult.done(response.content)

if __name__ == "__main__":
    from fipsagents.server import OpenAIChatServer
    server = OpenAIChatServer(agent_class=MyAgent, config_path="agent.yaml")
    server.run()

What's included

  • LLM client via the openai async SDK — connects to any OpenAI-compatible endpoint (vLLM, LlamaStack, llm-d)
  • Two-plane tool system@tool decorator with agent_only, llm_only, or both visibility
  • MCP client via FastMCP v3 — connect to remote servers (tools, prompts, and resources)
  • Prompt loading — Markdown with YAML frontmatter
  • Skills — agentskills.io progressive disclosure
  • Configuration — YAML with ${VAR:-default} env var substitution
  • Pluggable memory — memoryhub, markdown, sqlite, pgvector, llamastack, custom, or null. Budget presets (small/medium/large) auto-tune for model context size. Deferred loading, user-turn injection for small models, and per-turn recall patterns
  • Protective patterns — max iterations, exponential backoff, rate limiting
  • HTTP server — OpenAI-compatible /v1/chat/completions endpoint with streaming, extended sampling parameters (top_p, top_k, repetition_penalty, reasoning_effort), and multimodal content blocks (text + image_url). Image bytes can be referenced inline as data: URIs, by URL, or by the internal file_id:<id> scheme — uploads via POST /v1/files are resolved server-side from the configured BytesStore before the model call
  • File uploadsPOST /v1/files accepts multipart uploads, persists each file via the configured FileStore, and exposes them either as extracted-text context (pass file_ids: [...] on a chat completion) or as image bytes (reference file_id:<id> from an image_url content block). Opt-in via the [files] extra
  • run_tool_calls() — one-line tool dispatch loop for non-streaming agents
  • Agent identity — name, description, version exposed via /v1/agent-info

Key methods

Method Purpose
call_model() LLM completion with auto-included tool schemas
run_tool_calls(response) Execute tool calls and loop until the model stops
call_model_json(schema) Structured output with Pydantic validation
call_model_validated(fn) Call, validate, retry with backoff
use_tool(name, **kw) Agent-code tool call (plane 1)
connect_mcp(target) Connect to an MCP server
get_mcp_prompt(name) Render an MCP-provided prompt
read_resource(uri) Read an MCP-provided resource

Used by

This package is the shared framework for templates scaffolded by the fips-agents CLI:

  • agent-loop — single-agent loop (step() in a loop)
  • workflow — directed graph of nodes with typed state

License

Apache 2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fipsagents-0.32.0.tar.gz (462.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fipsagents-0.32.0-py3-none-any.whl (300.5 kB view details)

Uploaded Python 3

File details

Details for the file fipsagents-0.32.0.tar.gz.

File metadata

  • Download URL: fipsagents-0.32.0.tar.gz
  • Upload date:
  • Size: 462.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fipsagents-0.32.0.tar.gz
Algorithm Hash digest
SHA256 76261be870eaedd85ec6c70b03c732100b9073357f9067bcf45eeb93d7b84e62
MD5 d3a99aaa1c73930b9e41e9933050d549
BLAKE2b-256 f3b16a56a04aa71dbad9bfe1a3f9746f8a0f28a36b5e51f04cc2805392c6c867

See more details on using hashes here.

Provenance

The following attestation bundles were made for fipsagents-0.32.0.tar.gz:

Publisher: publish.yml on fips-agents/agent-template

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fipsagents-0.32.0-py3-none-any.whl.

File metadata

  • Download URL: fipsagents-0.32.0-py3-none-any.whl
  • Upload date:
  • Size: 300.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fipsagents-0.32.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0f910753adf6a83f912e60d0a9994afb8f46b7fbda3903af244e959bb6efd5e
MD5 236c76d5035177a44c4a81ec16800cf8
BLAKE2b-256 344bf81b13950a9abab444282a48465a30046cf0d0fe76024881cf37aa2e6432

See more details on using hashes here.

Provenance

The following attestation bundles were made for fipsagents-0.32.0-py3-none-any.whl:

Publisher: publish.yml on fips-agents/agent-template

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.32.0 This release

2 files

0.31.2

2 files

0.31.1

2 files

0.31.0

2 files

0.30.0

2 files

0.29.0

2 files

0.28.0

2 files

0.27.0

2 files

0.26.0

2 files

0.22.0

2 files

0.21.1

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.2

2 files

0.14.1

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.4.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page