Skip to main content
Glama
README.md
# strands-hub-mcp

MCP server that exposes [`strands-hub`](https://github.com/labeveryday/strands-hub) data from S3:

- **Registry** - list/update agents
- **Prompts** - get/create prompt versions
- **Sessions** - browse session data (read-only)
- **Metrics** - query run metrics (read-only)

## Prerequisites

- Python 3.10+
- AWS credentials configured (`~/.aws/credentials` or env vars)
- S3 bucket with strands-hub data

## Claude Code Integration

```bash
claude mcp add strands-hub-mcp --scope user \
  -e USE_S3=true \
  -e AGENT_HUB_BUCKET=your-bucket-name \
  -e AGENT_HUB_REGION=us-east-1 \
  -- uv --directory /path/to/strands-hub-mcp run strands-hub-mcp
```

Verify:

```bash
claude mcp list
```

## Available Tools

| Tool | Description |
|------|-------------|
| `hub_status` | Show current hub configuration |
| `registry_list_agents` | List all registered agents |
| `registry_get_agent` | Get agent details |
| `registry_update_metadata` | Update agent metadata |
| `prompts_get_current` | Get current prompt for an agent |
| `prompts_get_version` | Get specific prompt version |
| `prompts_list_versions` | List all prompt versions |
| `prompts_create_version` | Create new prompt version (append-only) |
| `metrics_list` | List metrics by date/agent |
| `metrics_get` | Get specific metrics record |
| `sessions_list` | List all sessions |
| `sessions_get_session_json` | Get session metadata |
| `sessions_list_agents` | List agents in a session |
| `sessions_get_agent_json` | Get agent data from session |
| `sessions_list_messages` | List messages in a session |
| `sessions_get_message_json` | Get specific message |

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `USE_S3` | Yes | Must be `true` |
| `AGENT_HUB_BUCKET` | Yes | S3 bucket name |
| `AGENT_HUB_REGION` | Yes | AWS region |

## Author

Built by **Du'An Lightfoot** ([@labeveryday](https://github.com/labeveryday))

TDQS

B3.3/5.0

Scored across 17 tools

Disambiguation4/5

Most tools map to distinct resources and actions, with clear domain prefixes (registry, prompts, metrics, sessions). However, sessions_get_session_json and sessions_get_raw both fetch session data and could be confused, as could registry_get_agent vs sessions_get_agent_json despite their different contexts.

Naming Consistency4/5

Naming follows a consistent <domain>_<verb>_<object> pattern for nearly all tools, such as registry_list_agents and sessions_get_message_json. The main deviation is hub_status, which lacks a verb unlike the rest, and sessions_get_raw uses an adjective instead of a specific object.

Tool Count4/5

17 tools is slightly above the typical well-scoped range, but the count is justified by the five distinct domains and the deep session hierarchy. Each tool serves a specific retrieval task, making the count reasonable rather than bloated.

Completeness4/5

The read-focused surface is fairly complete for inspection: sessions are traversable from ID down to message content, prompts have version listing/creation, and metrics are accessible. Minor gaps include no delete/create in the registry and no write operations for sessions, but these may be intentionally outside the server's scope.

Maintenance

ActivityInactive
ResponsivenessNo issues