PHPackages                             carmelosantana/coqui-toolkit-umami-admin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. carmelosantana/coqui-toolkit-umami-admin

ActiveLibrary[Admin Panels](/categories/admin)

carmelosantana/coqui-toolkit-umami-admin
========================================

Umami Analytics admin toolkit for Coqui — full website management, analytics, user/team admin, reports, and event tracking

v0.1.0(1mo ago)00MITPHPPHP ^8.4CI passing

Since Apr 9Pushed 1mo agoCompare

[ Source](https://github.com/carmelosantana/coqui-umami-admin)[ Packagist](https://packagist.org/packages/carmelosantana/coqui-toolkit-umami-admin)[ RSS](/packages/carmelosantana-coqui-toolkit-umami-admin/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

Umami Admin Toolkit for Coqui
=============================

[](#umami-admin-toolkit-for-coqui)

Full-featured Umami Analytics admin toolkit for [Coqui](https://github.com/carmelosantana/coqui). Provides complete API coverage for managing websites, querying analytics, tracking events, managing users and teams, generating reports, and producing tracking code snippets.

Requirements
------------

[](#requirements)

- PHP 8.4+
- [Coqui](https://github.com/carmelosantana/coqui) with `carmelosantana/php-agents ^0.7`
- A self-hosted [Umami Analytics](https://umami.is/) instance

Installation
------------

[](#installation)

```
composer require coquibot/umami-admin-toolkit
```

Coqui auto-discovers the toolkit on boot. No code changes needed.

Credentials
-----------

[](#credentials)

Set these in your workspace `.env` or via Coqui's `credentials` tool:

VariableRequiredDescription`UMAMI_API_URL`YesBase URL of your Umami instance (e.g. `https://umami.example.com`)`UMAMI_API_KEY`Yes\*API key for authentication`UMAMI_USERNAME`NoUsername for JWT fallback auth`UMAMI_PASSWORD`NoPassword for JWT fallback auth\*Either `UMAMI_API_KEY` or both `UMAMI_USERNAME` + `UMAMI_PASSWORD` must be set. API key is preferred.

### Getting an API Key

[](#getting-an-api-key)

1. Log in to your Umami instance
2. Go to **Settings** &gt; **API Keys**
3. Click **Create API Key**
4. Copy the key and set it as `UMAMI_API_KEY`

Tools
-----

[](#tools)

ToolDescriptionActions`umami_website`Manage tracked websites`list`, `get`, `create`, `update`, `delete`, `reset``umami_analytics`Query website analytics`stats`, `pageviews`, `metrics`, `active_visitors`, `realtime``umami_event`Track and query events`list`, `metrics`, `data_events`, `data_fields`, `data_values`, `data_stats`, `send`, `batch``umami_session`Analyze visitor sessions`list`, `get`, `activity`, `data`, `properties`, `property_values``umami_user`Admin: manage users`list`, `get`, `create`, `update`, `delete`, `usage`, `websites`, `teams``umami_team`Admin: manage teams`list`, `get`, `create`, `update`, `delete`, `join`, `list_members`, `add_member`, `update_member`, `remove_member`, `list_websites`, `add_website`, `remove_website``umami_report`Manage custom reports`list`, `get`, `create`, `update`, `delete`, `website_reports``umami_tracking_code`Generate tracking snippetsGenerates HTML `` or GTM snippet`umami_me`Current user operations`profile`, `websites`, `teams`, `change_password`Usage Examples
--------------

[](#usage-examples)

### Add a new site and get tracking code

[](#add-a-new-site-and-get-tracking-code)

```
> Add example.com to Umami and give me the tracking code

The agent will:
1. Call umami_website(action: "create", name: "example.com", domain: "example.com")
2. Call umami_tracking_code(website_id: "", format: "html")

```

### Generate a traffic report

[](#generate-a-traffic-report)

```
> Show me traffic stats for example.com for the last 30 days

The agent will:
1. Call umami_website(action: "list") to find the website ID
2. Call umami_analytics(action: "stats", website_id: "", start_date: "...", end_date: "...")
3. Call umami_analytics(action: "metrics", website_id: "", metric_type: "url", ...)

```

### Manage users

[](#manage-users)

```
> Create a new user "editor" with the user role

The agent will call umami_user(action: "create", username: "editor", password: "...", role: "user")

```

### Set up a team

[](#set-up-a-team)

```
> Create a Marketing team and add user alice to it

The agent will:
1. Call umami_team(action: "create", name: "Marketing")
2. Call umami_user(action: "list") to find alice's user ID
3. Call umami_team(action: "add_member", team_id: "", user_id: "", role: "member")

```

Authentication
--------------

[](#authentication)

The toolkit supports two authentication methods:

1. **API Key** (recommended): Set `UMAMI_API_KEY`. Sent via `x-umami-api-key` header on every request.
2. **Username/Password** (fallback): Set `UMAMI_USERNAME` and `UMAMI_PASSWORD`. The client authenticates via `POST /api/auth/login` and caches the JWT token for subsequent requests.

API key auth is preferred because it doesn't require an initial login request and works with service accounts.

Development
-----------

[](#development)

```
# Install dependencies
composer install

# Run tests
./vendor/bin/pest

# Static analysis
./vendor/bin/phpstan analyse
```

License
-------

[](#license)

MIT

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance93

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

34d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/597820?v=4)[Carmelo Santana](/maintainers/carmelosantana)[@carmelosantana](https://github.com/carmelosantana)

---

Top Contributors

[![carmelosantana](https://avatars.githubusercontent.com/u/597820?v=4)](https://github.com/carmelosantana "carmelosantana (1 commits)")

---

Tags

analyticsadmintoolkitphp-agentscoquiumami

###  Code Quality

TestsPest

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/carmelosantana-coqui-toolkit-umami-admin/health.svg)

```
[![Health](https://phpackages.com/badges/carmelosantana-coqui-toolkit-umami-admin/health.svg)](https://phpackages.com/packages/carmelosantana-coqui-toolkit-umami-admin)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
