AI Assistants (MCP)
What this is
AppsFolio ships an MCP server: a standard interface that lets an AI assistant read and write your application portfolio directly, instead of you copying data in and out by hand.
Once connected, you can ask things like "which apps are missing an owner?", "summarise our security tooling", or "add a new app called Payments Gateway and set its status to Active" — and the assistant works against your live AppsFolio data.
MCP (Model Context Protocol) is an open standard, so this works with any client that supports it, including Claude Code, Cursor, and Codex.
Before you start
You need an API key. These are the same keys the API uses:
- Personal key — Profile → API Key. Acts as you, with your permissions. This is the recommended choice.
- Organization key — Organization Settings → API Keys. Full permissions for the whole organization. Use this only for automation that cannot log in as a person.
Connecting
Replace yourorg with your organization's tenant ID and use your own email and key.
Claude Code
claude mcp add --transport http \
--header "X-User-Id: [email protected]" \
--header "X-API-Key: your-api-key-here" \
appsfolio https://yourorg.appsfol.io/app/mcp
Other clients
Most clients take the same three values in their configuration file:
{
"mcpServers": {
"appsfolio": {
"type": "http",
"url": "https://yourorg.appsfol.io/app/mcp",
"headers": {
"X-User-Id": "[email protected]",
"X-API-Key": "your-api-key-here"
}
}
}
}
To connect with an organization key instead, swap X-User-Id for X-Org-Id and
give your tenant ID as the value.
What the assistant can do
| Tool | What it does |
|---|---|
export_portfolio |
Returns every app and its metadata as a single document. Best for questions about the portfolio as a whole. |
list_apps |
Lists apps with their id, shortname, name, and summary. |
get_app |
Full detail for one app, by shortname or id. |
get_metadata_schema |
Describes your organization's metadata fields. |
create_app |
Creates an app. Needs app-manager permission. |
update_app |
Updates an app's fields or metadata. |
Permissions are the same as in the web interface. If you cannot create apps in AppsFolio, the assistant cannot create them on your behalf — the tool is not even offered.
What it deliberately cannot do
For safety, the MCP server does not expose user management, logo upload, or deleting applications. Those remain available through the web interface and the API.
Things worth knowing
Your data goes to your AI provider. Anything the assistant reads — app descriptions, summaries, metadata — is sent to whichever AI service you have connected. Treat it the way you would any other tool you paste company data into.
Treat app content as untrusted input. An AI assistant reads your app descriptions as text and cannot always tell instructions apart from data. If someone in your organization writes instruction-like text into an app description, an assistant may act on it. Review what an assistant proposes before approving writes, and keep your API key scoped to a person rather than using an organization key for everyday work.
Rate limit. 300 requests per minute per key, shared with the API.
Every tool call is logged, including which key made it, so an administrator can review what an assistant did.
Troubleshooting
| Symptom | Cause |
|---|---|
401 Unauthorized |
Wrong key, wrong email, or the key was rotated. Check Profile → API Key. |
429 Too Many Requests |
Over the rate limit. Wait a minute. |
create_app missing |
Your account is not an app manager. |
| "No application found" | The shortname or id does not exist in your organization. Ask the assistant to list apps first. |