Connect Claude or ChatGPT to Aiola's hosted MCP server. You can ask about visitors, revenue, bot traffic, app logs, and feedback. The connection requires Aiola Pro or an active trial.
Connect once through OAuth
Add https://aiola.app/api/mcp as a remote server. Use Streamable HTTP and OAuth 2.1. Complete browser sign-in and consent with your Aiola account.
Do not add an API key or a static Authorization header. The client discovers OAuth from the endpoint's protected-resource metadata. It then sends the resulting bearer token. An unauthenticated request receives HTTP 401 with a Bearer challenge.
For Claude Code, run this command.
claude mcp add --transport http aiola https://aiola.app/api/mcp
Then run /mcp and follow the browser login for aiola. Current controls are in Claude Code's MCP documentation. Aiola's steps stay in the connector guide.
ChatGPT owns its setup flow. Aiola does not define ChatGPT's configuration file. Follow OpenAI's custom MCP app instructions. Use the URL above, choose OAuth, scan the tools, and finish Aiola consent.
The in-app list is Claude, ChatGPT, Cursor, Grok, and Grok bot. Aiola presents them as examples for Streamable HTTP and OAuth 2.1. A managed Grok team may need an administrator to provision the connector.
After consent, the aiola server must report connected or authenticated. Confirm list_projects is present, then run it. The result lists projects for the signed-in account.
Central Settings → Connections → MCP shows the URL, OAuth mode, clients, and the 11-tool catalog. That page does not configure local MCP processes.
Select your project before asking questions
list_projects returns names, domains, site IDs, creation dates, and data types. Names come from project keys, analytics sites, app-log groups, and feedback.
Other tools take a case-insensitive project name. With one project, you may omit it. The call can resolve that single project automatically. With several projects, project is required. Omitting it returns the available names. An unknown name fails and returns those names.
The server reads project data, analytics, and search-provider APIs. Analytics tools need an analytics site. Without a site, the error says the project has no analytics site.
Ask about visitors and revenue together
get_analytics_overview returns the dashboard summary, the previous period, and a time series. It also returns acquisition, audience, events, and journeys. Revenue and bot traffic are included. The Analytics traffic view includes visitors, sessions, pages, and revenue.
You can ask for this project's visitors and revenue against the previous period. For a conversion path, call get_analytics_definitions. It returns configured goals, saved funnels, and computed funnel results. Goals are browser-local on the device. Saved funnels are project definitions.
Retention is not a dashboard panel. Call get_analytics with the analytics_retention pipe and the workspace timezone.
Inspect bot traffic and search evidence
get_analytics queries one analytics pipe or one bot-crawl pipe.
get_search_keywords returns Google Search Console and Bing query and page metrics. get_indexing_issues returns Google indexing reason groups and Bing crawl issues.
Search connections are account-level. Each site maps one property or site under Settings → Analytics → Search Keywords. Search Console data is delayed about 48 hours.
Use the tool that matches your question
Rate cost is the weighted limit for one call.
| What you want | Tool | Rate cost |
|---|---|---|
| Projects and data types | list_projects | 1 |
| Summary, previous period, and series | get_analytics_overview | 12 |
| One analytics or bot-crawl pipe | get_analytics | 2 |
| Goals and saved funnel results | get_analytics_definitions | 6 |
| Search queries and page metrics | get_search_keywords | 3 |
| Indexing reasons and crawl issues | get_indexing_issues | 6 |
| Production error and warning groups | get_app_logs | 1 |
| Events and traces for one group | get_app_log_events | 1 |
| Issues and feature requests | get_feedback | 1 |
| Log group status | update_app_log_status | 1 |
| One feedback item status | update_feedback | 1 |
For App Logs, open one group after the group list. That call returns events, stack traces, breadcrumbs, and context. Analytics is the dashboard behind these reads. Tool limits are in the hosted MCP reference.
Review status changes and sensitive context
The server is mostly read-only. Only App Log and Feedback status tools write.
Accepted statuses are open, in_progress, human_review, closed, and ignored. update_app_log_status takes a UUID or group_hash, up to 100 comma-separated identifiers. update_feedback takes one feedback UUID.
Closing an App Log group sets resolved_at to the current time. Every other status clears resolved_at. Both writes stay within the signed-in user and the resolved project.
get_app_log_events omits request headers, request body, request query, user IP, and user email unless include_request_data is true.
With request data excluded, nested values are redacted for sensitive key names. Names include authentication, tokens, cookies, sessions, secrets, and passwords. They also include credentials, API keys, private keys, signatures, OTP, and PIN. CSRF, email, phone, SSN, passcodes, and card security codes are included.
Strings are scanned for bearer tokens, JWTs, and common prefixed API keys. Email addresses and long eyJ token fragments are scanned too. Replacements use [redacted]. Each event reports _redacted and _redacted_nested_values.
Set include_request_data to true only when you need the stored context. The call then returns stored rows without this MCP redaction pass.
Hosted access requires Pro or a trial
Every tool call reads the analytics-quota row first. Access requires a tier starting with pro_, or a valid future trial end. Tier gui_lifetime is excluded. A denied call says a subscription is required and links to pricing.
Analytics tools also check the current usage period. If measured usage is greater than the finite quota, they return a quota error. If usage cannot be measured, those tools still run. Authentication, entitlement, ownership, and rate limiting still apply.
Monthly quota overages do not stop collection or storage. The dashboard enforces that quota, and upgrading unlocks the analytics. Browser and bot collectors return HTTP 402 when the owner has neither Pro nor an active trial. They do not store that event.
The 100,000-event Pro plan is $24 per month or $240 per year. That allowance is monthly even on a yearly plan. The seven-day trial is only first-time Pro Monthly at 100,000 events. Checkout collects a card and verifies Stripe subscription history. A failed check does not grant a trial. Yearly Pro, other monthly tiers, and GUI Lifetime have no trial. Compare plans on Aiola pricing.
Weighted limits apply per authenticated user. One minute allows a weighted cost of 120. One day allows a weighted cost of 2,000. If the minute limiter or its RPC fails, try again in a minute. A used daily limit resets within 24 hours.
Hosted MCP is always online for every project on the signed-in account. Workspace MCP is local servers for one workspace, and a workspace is one project. Local servers depend on that workspace and the desktop app. GUI Lifetime does not include hosted MCP. It hides the Aiola bridge row and its install action. Third-party workspace MCP servers remain available.
Try it in Aiola: Download Aiola and add the hosted endpoint. Finish OAuth, run list_projects, and ask about one project.




