Skip to content

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.