Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
796b268
docs: AgentCat rebrand design spec (Branch B, local staging)
naji247 Jul 3, 2026
8fc3e87
docs: AgentCat rebrand implementation plan
naji247 Jul 3, 2026
3005c92
feat!: replace mcpcat-api with agentcat-api@1.0.0, emit agentcat:iden…
naji247 Jul 3, 2026
d157dd4
feat!: default endpoint api.agentcat.com; AGENTCAT_API_URL env (MCPCA…
naji247 Jul 3, 2026
2c14fe3
feat!: log to ~/agentcat.log (no old-path fallback)
naji247 Jul 3, 2026
e1ee2f5
feat!: agentcat.* diagnostics attributes + agentcat-diagnostics scope
naji247 Jul 3, 2026
22c28f9
feat!: flip exporter source/brand strings to agentcat (accepted custo…
naji247 Jul 3, 2026
79d3c74
feat!: rename public types to AgentCatOptions/AgentCatData and sweep …
naji247 Jul 3, 2026
0137c12
feat!: package identity agentcat@1.0.0b1, import agentcat, AgentCat, …
naji247 Jul 3, 2026
b468c26
docs!: AgentCat README/CONTRIBUTING/AGENTS + brand assets from Figma;…
naji247 Jul 3, 2026
691d867
fix: sdist allowlist (exclude local/internal files), test debug-mode …
naji247 Jul 3, 2026
8bb3f49
fix(tests): isolate log-path test from real ~/agentcat.log via expand…
naji247 Jul 3, 2026
8636d70
fix(exporters): derive SDK version from installed dist instead of sta…
naji247 Jul 3, 2026
40475df
docs: add rebrand notice and mcpcat β†’ agentcat migration guide
naji247 Jul 3, 2026
c828f90
docs: add paste-into-agent prompt for automatic migration
naji247 Jul 3, 2026
cd6a3c1
docs: fix old brand casing (MCPCat β†’ MCPcat)
naji247 Jul 3, 2026
4845b4b
release: agentcat 1.0.0
naji247 Jul 3, 2026
d9e0f1f
rm: docs
naji247 Jul 3, 2026
237cdee
Merge main (final mcpcat deprecation release) into rebrand/agentcat
naji247 Jul 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/mcp-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ jobs:
uv venv

# Install base dependencies first
uv pip install pydantic>=2.0.0 requests>=2.31.0 mcpcat-api==0.1.4
uv pip install pydantic>=2.0.0 requests>=2.31.0 agentcat-api==1.0.0

# Install the specific MCP version
uv pip install "mcp==${{ matrix.mcp-version }}"
Expand Down Expand Up @@ -397,11 +397,11 @@ jobs:
if failing_fastmcp:
subject_parts.append('FastMCP ' + ', '.join(failing_fastmcp))
subject_suffix = ' | '.join(subject_parts) if subject_parts else 'See workflow logs'
subject_line = f'🚨 MCPCat Compatibility Tests Failed - {subject_suffix}'
subject_line = f'🚨 AgentCat Compatibility Tests Failed - {subject_suffix}'
print(f'Email subject suffix: {subject_suffix}')

email_html = f'''
<h2>🚨 MCPCat Compatibility Tests Failed</h2>
<h2>🚨 AgentCat Compatibility Tests Failed</h2>

<p>The MCP/FastMCP compatibility tests have failed in the main workflow. This requires immediate attention.</p>

Expand Down Expand Up @@ -442,7 +442,7 @@ jobs:
repo_tag = '${{ github.repository }}'.replace('/', '_')

params = {
'from': 'no-reply@mcpcat.io', # Use Resend's default verified domain
'from': 'no-reply@agentcat.com', # Requires agentcat.com verified in Resend (rebrand Phase 1)
'to': [alert_email], # Use variable, not inline secret
'subject': subject_line,
'html': email_html,
Expand Down Expand Up @@ -494,7 +494,7 @@ jobs:
echo " MCP VERSION COMPATIBILITY REPORT "
echo "=========================================="
echo ""
echo "This report shows the compatibility status of MCPCat with different MCP and FastMCP versions."
echo "This report shows the compatibility status of AgentCat with different MCP and FastMCP versions."
echo ""
echo "Generated on: $(date)"
echo ""
Expand All @@ -521,8 +521,8 @@ jobs:
echo ""
echo "πŸ“¦ INSTALLATION OPTIONS"
echo "─────────────────────────────────────────"
echo "β€’ pip install mcpcat - Official MCP only (includes mcp.server.fastmcp)"
echo "β€’ pip install mcpcat[community] - Adds community FastMCP support"
echo "β€’ pip install agentcat - Official MCP only (includes mcp.server.fastmcp)"
echo "β€’ pip install agentcat[community] - Adds community FastMCP support"
echo ""
echo "πŸ“Š RESULTS"
echo "─────────────────────────────────────────"
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/mcp-prerelease-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ jobs:
uv venv

# Install base dependencies first
uv pip install pydantic>=2.0.0 requests>=2.31.0 mcpcat-api==0.1.4
uv pip install pydantic>=2.0.0 requests>=2.31.0 agentcat-api==1.0.0

# Install the specific MCP prerelease version
uv pip install "mcp==${{ matrix.mcp-version }}" --prerelease=allow
Expand Down Expand Up @@ -382,11 +382,11 @@ jobs:
if failing_fastmcp:
subject_parts.append('FastMCP ' + ', '.join(failing_fastmcp))
subject_suffix = ' | '.join(subject_parts) if subject_parts else 'See workflow logs'
subject_line = f'⚠️ MCPCat Prerelease Tests Failed - {subject_suffix}'
subject_line = f'⚠️ AgentCat Prerelease Tests Failed - {subject_suffix}'
print(f'Email subject suffix: {subject_suffix}')

email_html = f'''
<h2>⚠️ MCPCat Prerelease Compatibility Tests Failed</h2>
<h2>⚠️ AgentCat Prerelease Compatibility Tests Failed</h2>

<p>The prerelease compatibility tests have failed. This may indicate upcoming breaking changes in MCP or FastMCP.</p>

Expand Down Expand Up @@ -423,7 +423,7 @@ jobs:
repo_tag = '${{ github.repository }}'.replace('/', '_')

params = {
'from': 'no-reply@mcpcat.io', # Use Resend's default verified domain
'from': 'no-reply@agentcat.com', # Requires agentcat.com verified in Resend (rebrand Phase 1)
'to': [alert_email], # Use variable, not inline secret
'subject': subject_line,
'html': email_html,
Expand Down
30 changes: 15 additions & 15 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Contributing to MCPcat πŸŽ‰
# Contributing to AgentCat πŸŽ‰

Thank you for your interest in contributing to MCPcat! We're excited to have you join our community of developers building analytics tools for MCP servers.
Thank you for your interest in contributing to AgentCat! We're excited to have you join our community of developers building analytics tools for MCP servers.

## Getting Started

1. **Fork the repository** on GitHub
2. **Clone your fork** locally:
```bash
git clone https://github.com/YOUR-USERNAME/mcpcat-python-sdk.git
cd mcpcat-python-sdk
git clone https://github.com/YOUR-USERNAME/agentcat-python-sdk.git
cd agentcat-python-sdk
```
3. **Install dependencies** using uv:
```bash
Expand Down Expand Up @@ -80,7 +80,7 @@ git commit -m "docs: update API documentation"
- Why these changes are needed
- Any relevant context or screenshots

4. **Wait for review** - The MCPcat team will review your PR within 2 business days
4. **Wait for review** - The AgentCat team will review your PR within 2 business days

5. **Address feedback** if any changes are requested

Expand All @@ -92,7 +92,7 @@ You don't need to open an issue before submitting a PR. Feel free to submit pull

## Good First Issues

Looking for a place to start? Check out issues labeled [`good first issue`](https://github.com/MCPCat/mcpcat-python-sdk/labels/good%20first%20issue) - these are great for newcomers to the codebase.
Looking for a place to start? Check out issues labeled [`good first issue`](https://github.com/agentcathq/agentcat-python-sdk/labels/good%20first%20issue) - these are great for newcomers to the codebase.

## Testing

Expand All @@ -116,7 +116,7 @@ uv run ruff check .
uv run ruff format .

# Type checking (if applicable)
uv run mypy src/mcpcat --ignore-missing-imports
uv run mypy src/agentcat --ignore-missing-imports
```

Our CI will run these same checks on your PR.
Expand All @@ -133,9 +133,9 @@ While we don't restrict adding new dependencies, they are generally **discourage
## Project Structure

```
mcpcat-python-sdk/
agentcat-python-sdk/
β”œβ”€β”€ src/ # Source code
β”‚ └── mcpcat/ # Main package
β”‚ └── agentcat/ # Main package
β”‚ β”œβ”€β”€ modules/ # Core modules
β”‚ β”œβ”€β”€ thirdparty/ # Vendored dependencies
β”‚ β”œβ”€β”€ types.py # Type definitions
Expand All @@ -149,22 +149,22 @@ mcpcat-python-sdk/
## Community

- **Discord**: Join our [Discord server](https://discord.gg/n9qpyhzp2u) for discussions
- **Documentation**: Visit [docs.mcpcat.io](https://docs.mcpcat.io) for detailed guides
- **Issues**: Browse [open issues](https://github.com/MCPCat/mcpcat-python-sdk/issues) for areas needing help
- **Documentation**: Visit [docs.agentcat.com](https://docs.agentcat.com) for detailed guides
- **Issues**: Browse [open issues](https://github.com/agentcathq/agentcat-python-sdk/issues) for areas needing help

## Versioning

The MCPcat team handles versioning and releases. Your contributions will be included in the next appropriate release based on semantic versioning principles.
The AgentCat team handles versioning and releases. Your contributions will be included in the next appropriate release based on semantic versioning principles.

## Recognition

All contributors are recognized in our repository. Your contributions help make MCPcat better for everyone building MCP servers!
All contributors are recognized in our repository. Your contributions help make AgentCat better for everyone building MCP servers!

## Questions?

If you have questions about contributing, feel free to:

- Ask in our [Discord server](https://discord.gg/n9qpyhzp2u)
- Open a [discussion](https://github.com/MCPCat/mcpcat-python-sdk/discussions) on GitHub
- Open a [discussion](https://github.com/agentcathq/agentcat-python-sdk/discussions) on GitHub

Thank you for contributing to MCPcat! 🐱
Thank you for contributing to AgentCat! 🐱
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2024 MCPCat
Copyright (c) 2024 AgentCat, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
92 changes: 92 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Migrating from `mcpcat` to `agentcat`

MCPcat is now **AgentCat** β€” same team, same product, new name. The PyPI package has been renamed from `mcpcat` to [`agentcat`](https://pypi.org/project/agentcat/), starting fresh at `v1.0.0`.

## Nothing breaks if you stay

We keep every existing surface alive **permanently** β€” not on a deprecation timer:

- The `mcpcat` PyPI package stays published and functional
- `api.mcpcat.io` keeps accepting events forever
- The `MCPCAT_API_URL` environment variable keeps working
- Your project, data, and history stay unified regardless of which SDK sends them

If you never touch your integration, nothing stops working. Migrate on your own schedule β€” new features only land in `agentcat`.

## What changed

| | `mcpcat` (old) | `agentcat` (new) |
|---|---|---|
| PyPI package | `mcpcat` | `agentcat` (starts at `v1.0.0`) |
| Import | `import mcpcat` | `import agentcat` |
| Default endpoint | `https://api.mcpcat.io` | `https://api.agentcat.com` |
| Public types | `MCPCatOptions` / `MCPCatData` | `AgentCatOptions` / `AgentCatData` |
| Endpoint override | `MCPCAT_API_URL` | `AGENTCAT_API_URL` (`MCPCAT_API_URL` still honored) |
| Debug logging | `MCPCAT_DEBUG_MODE` | `AGENTCAT_DEBUG_MODE` (no fallback) |
| Local log file | `~/mcpcat.log` | `~/agentcat.log` |

There are no other API changes β€” `track()`, its options, the `identify` and redaction hooks, and the telemetry exporters all work exactly as before.

> **Note:** `agentcat` does not install a `mcpcat` compatibility module β€” a shim would collide with the real `mcpcat` distribution when both are installed. The import rename is required.

## Steps

1. **Swap the package:**

```bash
pip uninstall mcpcat
pip install agentcat
# or, for Jlowin's/Prefect's FastMCP support:
pip install "agentcat[community]"
```

2. **Rename your imports:**

```diff
- import mcpcat
- from mcpcat import MCPCatOptions
+ import agentcat
+ from agentcat import AgentCatOptions

- mcpcat.track(server, "proj_0000000", MCPCatOptions(identify=identify_user))
+ agentcat.track(server, "proj_0000000", AgentCatOptions(identify=identify_user))
```

3. **Rename any imported types 1:1** β€” `MCPCatOptions` β†’ `AgentCatOptions`, `MCPCatData` β†’ `AgentCatData`. (`UserIdentity` is unchanged.)

4. **Environment variables (optional):** if you override the endpoint, prefer `AGENTCAT_API_URL` (the old `MCPCAT_API_URL` name is still read as a fallback). If you use debug logging, rename `MCPCAT_DEBUG_MODE` β†’ `AGENTCAT_DEBUG_MODE` β€” this one has no fallback.

5. **Log tooling (if any):** the SDK now writes to `~/agentcat.log` instead of `~/mcpcat.log`.

Your project ID does not change, and your dashboard history is continuous.

## Or let an AI agent do it

Paste this into your coding agent (Claude Code, Cursor, Copilot, etc.) from your project root:

```text
Migrate this project from the `mcpcat` PyPI package to its renamed successor `agentcat` (same API, new package name):

1. Replace the `mcpcat` dependency with `agentcat` using this project's package manager (pip/uv/poetry; e.g. `pip uninstall mcpcat && pip install agentcat`). If the project uses the FastMCP extra, install "agentcat[community]".
2. Update every `import mcpcat` / `from mcpcat import ...` to `import agentcat` / `from agentcat import ...`. There is no compatibility shim β€” this rename is required.
3. Rename these types 1:1 wherever they're used: MCPCatOptions β†’ AgentCatOptions, MCPCatData β†’ AgentCatData. (UserIdentity is unchanged.)
4. If the env var MCPCAT_API_URL appears anywhere (code, .env files, CI, deploy config), rename it to AGENTCAT_API_URL. (Optional β€” the old name is still read as a fallback.)
5. If the env var MCPCAT_DEBUG_MODE appears anywhere, rename it to AGENTCAT_DEBUG_MODE. (Required β€” it has NO fallback.)
6. Update any references to the log path ~/mcpcat.log β†’ ~/agentcat.log.
7. Do NOT change the project ID passed to track() β€” it stays the same.
8. Run the project's tests to verify, and report anything that referenced mcpcat which you could not migrate mechanically (e.g. dashboards or filters keying on source=mcpcat).
```

## Heads-up if you forward telemetry to your own tools

If you use the exporters (Datadog, Sentry, OTLP), the `source` value and tag namespaces stamped into **your** observability platform change from `mcpcat` to `agentcat`. Update any saved filters, monitors, or dashboards that key on them β€” a one-time change on your side.

## FAQ

**Do I have to migrate?** No β€” and there is no deadline. The old package and endpoint stay up permanently.

**Will my data/history split?** No. Both SDKs report into the same platform and your history stays unified under your project.

**What about the GitHub repo?** The org is being renamed; old repo URLs will redirect automatically, and stars/issues are preserved.

**Questions?** Open an issue or email [hi@agentcat.com](mailto:hi@agentcat.com).
Loading
Loading