> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tightknit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> Connect Tightknit to Claude, ChatGPT, Cursor, and other AI agents with the hosted MCP server so they can manage your community for you.

<Note>
  The Tightknit MCP server is currently in **pilot**. Contact [Support](mailto:support@tightknit.ai) if you'd like to join the pilot and turn it on for your community.
</Note>

The Tightknit MCP server lets AI agents work inside your community on your behalf. It implements the [Model Context Protocol](https://modelcontextprotocol.io/), an open standard that connects AI apps to external tools, so an agent like Claude, ChatGPT, or Cursor can read your feeds, post and moderate discussions, run polls, manage members, and more, all through natural language.

This is a **remote, hosted** server: there is nothing to install and no API key to manage. You add one URL to your agent and sign in with your Tightknit account. For a local, terminal-based option that ships inside the Tightknit CLI, see the [CLI & MCP Server](/integrations/cli#mcp-server) guide instead.

## Let your agent set it up for you

The fastest way to get started is to hand this page to your agent and let it walk you through the setup. Paste the following prompt into Claude, ChatGPT, Cursor, or the agent of your choice:

```text Copy this into your agent theme={null}
I want you to help manage my Tightknit community. Read the contents of this
page https://docs.tightknit.ai/integrations/mcp and recommend the best way to
get started, then help me connect the Tightknit MCP server. Once it's
connected, list the communities I can access so we can confirm it works.
```

Your agent will read this guide, add the server to its configuration, and prompt you to sign in. If you'd rather set it up by hand, follow the steps below.

## Connection details

<Info>
  Access requires the **MCP User** role (admins have full access), in a community that's in the pilot. If you can't sign in, ask [Support](mailto:support@tightknit.ai) to enable the MCP server for your community.
</Info>

| Setting        | Value                                                         |
| -------------- | ------------------------------------------------------------- |
| Server URL     | `https://mcp.tightknit.ai/mcp`                                |
| Transport      | Streamable HTTP                                               |
| Authentication | OAuth 2.1. Sign in with your Tightknit account when prompted. |
| Access         | Admins, and roles granted **MCP User**, in the pilot          |

You never paste a token or secret. On first connect, your agent opens a browser window where you sign in, and the communities you can access are scoped to that account automatically.

## Connect your agent

<Tabs>
  <Tab title="Claude Code">
    Add the server from the terminal:

    ```bash theme={null}
    claude mcp add --transport http tightknit https://mcp.tightknit.ai/mcp
    ```

    Then run `/mcp` inside Claude Code and choose **Authenticate** to sign in through your browser. Once connected, `/mcp` lists the Tightknit tools as available.
  </Tab>

  <Tab title="Claude Desktop & claude.ai">
    Add Tightknit as a custom connector:

    <Steps>
      <Step title="Open Connectors settings">
        Go to **Settings > Connectors** in Claude Desktop or on [claude.ai](https://claude.ai).
      </Step>

      <Step title="Add a custom connector">
        Click **Add custom connector**, name it `Tightknit`, and paste `https://mcp.tightknit.ai/mcp` as the URL.
      </Step>

      <Step title="Connect and sign in">
        Save the connector, click **Connect**, and sign in with your Tightknit account. Tightknit's tools then appear in the tools menu.
      </Step>
    </Steps>

    <Note>
      Custom connectors are available on Claude plans that support them. If you don't see **Add custom connector**, check your plan or workspace settings.
    </Note>
  </Tab>

  <Tab title="Cursor">
    Add the server to `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` for every project):

    ```json .cursor/mcp.json theme={null}
    {
      "mcpServers": {
        "tightknit": {
          "url": "https://mcp.tightknit.ai/mcp"
        }
      }
    }
    ```

    Open **Cursor Settings > MCP**, then click the Tightknit server and authenticate when prompted.
  </Tab>

  <Tab title="VS Code">
    Add the server to `.vscode/mcp.json` in your workspace:

    ```json .vscode/mcp.json theme={null}
    {
      "servers": {
        "tightknit": {
          "type": "http",
          "url": "https://mcp.tightknit.ai/mcp"
        }
      }
    }
    ```

    Start the server from the `mcp.json` editor and sign in when the browser opens. The tools become available to Copilot in agent mode.
  </Tab>

  <Tab title="ChatGPT">
    ChatGPT supports custom MCP connectors through **developer mode**, but the tools available depend on your plan. Business, Enterprise, and Edu plans support read and write tools; Pro is limited to read-only tools, and support on other plans varies. The Tightknit server includes write and destructive tools, so use a plan that supports full connectors to get the complete tool set.

    <Steps>
      <Step title="Enable developer mode">
        In **Settings > Connectors > Advanced**, turn on developer mode.
      </Step>

      <Step title="Add the connector">
        Add a new connector and paste `https://mcp.tightknit.ai/mcp` as the MCP server URL.
      </Step>

      <Step title="Sign in">
        Complete the sign-in prompt with your Tightknit account.
      </Step>
    </Steps>

    <Note>
      ChatGPT's connector support and plan requirements change often. See [OpenAI's developer mode documentation](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt) for current details.
    </Note>
  </Tab>

  <Tab title="Any MCP client">
    Point any client that supports remote MCP servers over Streamable HTTP with OAuth at the server URL. Most clients use this shape:

    ```json theme={null}
    {
      "mcpServers": {
        "tightknit": {
          "type": "http",
          "url": "https://mcp.tightknit.ai/mcp"
        }
      }
    }
    ```

    The client handles the OAuth sign-in on first use. No API key is required.
  </Tab>
</Tabs>

## How access works

The MCP server never holds your password and issues no long-lived key. Your agent completes a standard OAuth 2.1 sign-in, and every request is authorized against your role and permissions in the Studio.

```mermaid theme={null}
sequenceDiagram
    autonumber
    participant Agent as Your AI agent
    participant MCP as Tightknit MCP server
    participant Auth as Tightknit sign-in
    Agent->>MCP: Connect to the server URL
    MCP-->>Agent: Sign-in required
    Agent->>Auth: Open browser to authenticate
    Auth-->>Agent: Access token for your account
    Agent->>MCP: Request tools with access token
    MCP-->>Agent: Tools your role can use, per community
```

A few things follow from this:

* **Role-based** — Admins have full access. Everyone else needs the **MCP User** role, which grants the `mcp:access` permission to connect. Without it, you can't reach the server.
* **Tools follow your Studio permissions** — Beyond connecting, each tool checks your [Studio role and permissions](/studio/access#roles), so an agent only sees the tools your roles allow. For example, pairing **MCP User** with Events Manager exposes the events tools but not the polls, members, or site tools. Admins can use every tool.
* **Scoped to your communities** — The agent only acts on communities where your role has access. If you can reach more than one, ask the agent to run `list_tenants` first, then reference the community you want by the `tenant_id` it returns.

## Available tools

The server exposes **46 tools**. Each tool is annotated so your agent understands the impact of an action before it runs one:

* **Read** — Fetches data. Never changes anything.
* **Write** — Creates or updates content in your community.
* **Destructive** — Deletes content. Cannot be undone.

<Warning>
  Agents can create, edit, publish, and delete real content in your community. Review what your agent proposes before you approve write actions, and keep a human in the loop for moderation and member changes.
</Warning>

### Communities

| Tool           | What it does                        | Access |
| -------------- | ----------------------------------- | ------ |
| `list_tenants` | List the communities you can access | Read   |

### Events

| Tool           | What it does                                                   | Access |
| -------------- | -------------------------------------------------------------- | ------ |
| `list_events`  | List the community's calendar events                           | Read   |
| `get_event`    | Get one event with hosts, speakers, tags, and registrant count | Read   |
| `create_event` | Create a calendar event                                        | Write  |
| `edit_event`   | Update an event's details                                      | Write  |

### Activity

| Tool              | What it does                                                               | Access |
| ----------------- | -------------------------------------------------------------------------- | ------ |
| `list_activities` | Read the activity log (posts, comments, reactions, joins, votes, and more) | Read   |

### Slack

| Tool                  | What it does                                  | Access |
| --------------------- | --------------------------------------------- | ------ |
| `list_slack_channels` | List the Slack channels Tightknit can post to | Read   |

### Polls

| Tool          | What it does                                    | Access      |
| ------------- | ----------------------------------------------- | ----------- |
| `list_polls`  | List polls, newest first                        | Read        |
| `get_poll`    | Get a poll's question, options, and results     | Read        |
| `create_poll` | Create a poll and post or schedule it to Slack  | Write       |
| `update_poll` | Edit, reschedule, open, or close a poll         | Write       |
| `delete_poll` | Permanently delete a poll and its Slack message | Destructive |

### Members

| Tool                | What it does                                        | Access |
| ------------------- | --------------------------------------------------- | ------ |
| `list_members`      | List members, with optional search by name or email | Read   |
| `create_member`     | Add a member from an email address                  | Write  |
| `deactivate_member` | Deactivate a standalone member                      | Write  |

### Posts and comments

| Tool                    | What it does                                     | Access |
| ----------------------- | ------------------------------------------------ | ------ |
| `list_posts`            | List published posts across feeds                | Read   |
| `get_post`              | Get one post with its body and engagement counts | Read   |
| `get_post_comments`     | List the comments on a post                      | Read   |
| `edit_post_content`     | Edit a post's title, slug, and SEO description   | Write  |
| `set_post_published`    | Publish or unpublish a post                      | Write  |
| `set_comment_published` | Publish or unpublish a comment                   | Write  |

### Search

| Tool              | What it does                               | Access |
| ----------------- | ------------------------------------------ | ------ |
| `search_posts`    | Full-text search across published posts    | Read   |
| `search_comments` | Full-text search across published comments | Read   |

### Feeds

| Tool          | What it does                                           | Access |
| ------------- | ------------------------------------------------------ | ------ |
| `list_feeds`  | List feeds, including archived and unlisted ones       | Read   |
| `get_feed`    | Get one feed's full settings                           | Read   |
| `update_feed` | Update a feed's label, slug, visibility, and placement | Write  |

### Groups

| Tool                | What it does                                | Access |
| ------------------- | ------------------------------------------- | ------ |
| `list_groups`       | List member groups with their member counts | Read   |
| `get_group`         | Get a group and a page of its members       | Read   |
| `create_group`      | Create a member group                       | Write  |
| `edit_group`        | Update a group's settings                   | Write  |
| `add_group_members` | Add members to a group                      | Write  |

### Site

| Tool        | What it does                         | Access |
| ----------- | ------------------------------------ | ------ |
| `get_site`  | Get the community's site settings    | Read   |
| `edit_site` | Update the community's site settings | Write  |

### Journeys

| Tool             | What it does                             | Access |
| ---------------- | ---------------------------------------- | ------ |
| `get_journey`    | Get a journey and its ordered milestones | Read   |
| `create_journey` | Create a journey                         | Write  |
| `add_milestone`  | Add a milestone to a journey             | Write  |
| `edit_journey`   | Update a journey's settings              | Write  |
| `edit_milestone` | Replace a milestone's definition         | Write  |

### Awards

| Tool           | What it does                                                   | Access |
| -------------- | -------------------------------------------------------------- | ------ |
| `create_award` | Create a reusable award (badge, profile frame, or certificate) | Write  |
| `edit_award`   | Update an award                                                | Write  |

### Content library

| Tool                        | What it does                                     | Access |
| --------------------------- | ------------------------------------------------ | ------ |
| `list_content_collections`  | List content-library collections                 | Read   |
| `create_content_collection` | Create a content collection                      | Write  |
| `edit_content_collection`   | Update a content collection                      | Write  |
| `list_content_resources`    | List the resources in a collection               | Read   |
| `create_content_resource`   | Add a resource (link, video, or event reference) | Write  |
| `edit_content_resource`     | Update a content resource                        | Write  |

## Troubleshooting

<AccordionGroup>
  <Accordion title="Sign-in fails or the agent sees no tools">
    Access requires the **MCP User** role (or Admin) in a community that is in the pilot. Confirm you're signing in with the right account, and ask [Support](mailto:support@tightknit.ai) to enable the MCP server for your community if it isn't already.
  </Accordion>

  <Accordion title="The agent asks which community to use">
    If you can access more than one community, tools need to know which one to target. Ask the agent to run `list_tenants` and then reference the community by the `tenant_id` it returns.
  </Accordion>

  <Accordion title="My client won't connect">
    The server uses the Streamable HTTP transport with OAuth. Make sure your client supports remote MCP servers (not only local stdio servers) and that you entered `https://mcp.tightknit.ai/mcp` exactly, including the `/mcp` path.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="CLI & MCP Server" icon="terminal" href="/integrations/cli">
    Run a local MCP server bundled with the Tightknit CLI, authenticated with an API key.
  </Card>

  <Card title="API Keys" icon="key" href="/integrations/api-keys">
    Generate keys for direct access to the Tightknit Admin API.
  </Card>
</CardGroup>


## Related topics

- [CLI & MCP Server](/integrations/cli.md)
- [Access the Studio](/studio/access.md)
- [Introduction](/api-reference/introduction.md)
- [Tightknit Data Security & Privacy](/security/data.md)
- [Tightknit Infrastructure & Application Security](/security/application.md)
