# MCP Integration

{% hint style="info" %}
**New to MCP?** If you're connecting an AI assistant for the first time, start with [Connect your own AI agent](/quickstart/connect-an-ai-agent.md) — it walks through both the app-data MCP and the guides MCP together, with setup blocks for Claude, Cursor, Windsurf, ChatGPT, and Gemini.
{% endhint %}

### What is the Noloco MCP Server?

The Noloco MCP (Model Context Protocol) server lets you connect AI assistants directly to your app's data. Once connected, an AI agent can list your tables, read records, create new entries, update existing ones, and delete records — all through natural language.

This is useful for:

* Letting an AI assistant answer questions about your data ("how many open deals are in the CRM?")
* Using AI to automate data entry or updates across your tables
* Giving tools like Claude Desktop or Cursor access to your Noloco app as a live data source

{% hint style="warning" %}
The MCP server grants **admin-level access** to your data. Any AI agent connected with an MCP key will be able to read and modify **all** records in your app, regardless of row-level permissions. Treat the MCP key with the same care as your App API key.
{% endhint %}

### Finding Your MCP URL and Key

Your MCP server URL and key are available in your app's **Integrations & API Keys** settings.

1. Open your Noloco app in the builder
2. Go to **Settings → Integrations & API Keys**
3. Scroll to the **MCP Server** section
4. Copy both the **MCP URL** and **MCP Key**

### Connecting an AI Client

The Noloco MCP server uses [Streamable HTTP transport](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http), which is supported by all major MCP clients. Use the config examples below to connect your preferred AI assistant. For general guidance on connecting MCP servers, see the [MCP documentation](https://modelcontextprotocol.io/docs/develop/connect-local-servers).

#### Claude Desktop

Open your Claude Desktop config file:

* **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

Add the following inside the `mcpServers` object, replacing `YOUR_MCP_KEY` with your actual MCP key:

```json
{
  "mcpServers": {
    "noloco": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.core.noloco.io/mcp",
        "--header",
        "Authorization: Bearer YOUR_MCP_KEY"
      ]
    }
  }
}
```

Fully quit Claude Desktop after saving (⌘Q on macOS — closing the window isn't enough), then reopen it. You should see a hammer icon in the chat input area indicating the MCP tools are available.

#### Cursor

In Cursor, open **Settings → MCP** and add a new server with the following configuration:

```json
{
  "mcpServers": {
    "noloco": {
      "url": "https://api.core.noloco.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_KEY"
      }
    }
  }
}
```

#### Windsurf

In Windsurf, open the MCP configuration panel and add:

```json
{
  "mcpServers": {
    "noloco": {
      "url": "https://api.core.noloco.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_KEY"
      }
    }
  }
}
```

#### Other MCP Clients

Any MCP client that supports Streamable HTTP transport can connect to Noloco. You need two things:

* **URL:** Your MCP URL from the Integrations & API Keys settings
* **Authorization header:** `Bearer YOUR_MCP_KEY`

### Available Tools

Once connected, the AI agent has access to the following tools:

| Tool               | What it does                                                                               |
| ------------------ | ------------------------------------------------------------------------------------------ |
| `list_tables`      | Lists all tables in your Noloco app with their names and descriptions                      |
| `get_table_schema` | Returns the full schema for a table, including all field types, options, and relationships |
| `list_records`     | Fetches records from a table with optional filtering, sorting, and pagination              |
| `get_record`       | Fetches a single record by ID                                                              |
| `create_record`    | Creates a new record in a table                                                            |
| `update_record`    | Updates an existing record by ID                                                           |
| `delete_record`    | Deletes a record by ID                                                                     |

### Security and Key Management

* Your MCP key is tied to your user account. If your account is deactivated or deleted, the key will no longer work.
* The MCP key cannot be revoked individually. If you need to invalidate it, contact [Noloco support](/settings/support.md).
* Never share your MCP key publicly or commit it to version control.
* The MCP server enforces HTTPS — connections over plain HTTP are not accepted.

### Tips for Getting the Best Results

**Be specific about which table you mean.** Instead of "show me the data", try "list the 10 most recent records in the Customers table". The more context you give the AI, the more accurate the results.

**Use natural language — you don't need to know field names.** The AI will call `get_table_schema` automatically to discover the correct field names before reading or writing data. Just describe what you want.

**Combine tools for richer workflows.** You can ask the AI to look up a record, update a field, and then summarise the change in one prompt. The agent will chain the necessary tool calls itself.

**Start read-only to build confidence.** When first connecting, ask the AI to list tables and read a few records before letting it create or update anything. This lets you verify it's pointing at the right app and tables.

**Check your app's table names are clear.** Because the AI uses table and field names to reason about your data, descriptive names like "Support Tickets" and "Assigned Agent" work better than "tbl1" or "col\_a".

### FAQ

**Can I connect multiple AI clients with the same MCP key?**\
Yes. The MCP key is not tied to a specific client. You can paste it into Claude Desktop, Cursor, and Windsurf simultaneously — all sessions will have access to the same app data.

**Does using the MCP server count against my API rate limits?**\
Yes. MCP tool calls go through the same Noloco data API as Zapier, Make, and direct REST calls. They are subject to the same rate limits as your plan.

**Can the AI see data from all my Noloco apps?**\
No. Each MCP key is scoped to a single app (the one it was generated from). To connect a second app, generate a separate MCP key from that app's Integrations & API Keys settings and add it as a separate entry in your client's config.

**What happens if the AI tries to do something it shouldn't?**\
The MCP server enforces the same data validation as the rest of the Noloco API. Required fields, field type constraints, and relationship rules all apply. Invalid requests will return an error that the AI will surface to you.

**Can I revoke access for a specific AI client without affecting others?**\
Not currently — there is one MCP key per app. Rotating the key (by contacting support) will invalidate all connected clients at once. Per-client revocation is planned for a future release.

**Does the MCP server give the AI access to my app's pages and UI?**\
No. The MCP server exposes data only — tables, fields, and records. It does not give the AI access to your app's pages, views, workflows, or settings.

**Is there an extra cost for using the MCP server?**\
No. MCP access is included in all Noloco plans that have API access. Check your [plan limits](/settings/plan-limits-and-usage.md) if you are unsure whether your plan includes API access.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guides.noloco.io/settings/integrations-and-api-keys/mcp-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
