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

# Cursor

> Use MemoryPlugin with Cursor

export const ArticleInfo = ({author, lastUpdated}) => {
  const authorAvatar = author === 'Alara' ? '/images/author-alara.jpg' : author === 'asad' ? '/images/author-alara.jpg' : null;
  const formatDate = dateInput => {
    if (!dateInput) return '';
    if (typeof dateInput === 'string' && !dateInput.match(/^\d{4}-\d{2}-\d{2}/)) {
      return dateInput;
    }
    try {
      const date = new Date(dateInput);
      const now = new Date();
      const diffTime = Math.abs(now - date);
      const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
      if (diffDays === 0) return 'today';
      if (diffDays === 1) return '1 day ago';
      if (diffDays < 7) return `${diffDays} days ago`;
      if (diffDays < 30) return `${Math.ceil(diffDays / 7)} week${Math.ceil(diffDays / 7) > 1 ? 's' : ''} ago`;
      if (diffDays < 365) return `${Math.ceil(diffDays / 30)} month${Math.ceil(diffDays / 30) > 1 ? 's' : ''} ago`;
      return `${Math.ceil(diffDays / 365)} year${Math.ceil(diffDays / 365) > 1 ? 's' : ''} ago`;
    } catch {
      return dateInput;
    }
  };
  return <div style={{
    display: "flex",
    alignItems: "center",
    gap: "8px",
    marginBottom: "16px",
    padding: "8px 12px",
    backgroundColor: "var(--ifm-color-emphasis-100)",
    borderRadius: "6px",
    fontSize: "14px",
    color: "var(--ifm-color-content-secondary)",
    border: "1px solid var(--ifm-color-emphasis-200)",
    opacity: "0.8"
  }}>
      <div style={{
    width: "40px",
    height: "40px",
    borderRadius: "50%",
    background: authorAvatar || "linear-gradient(45deg, #4F46E5, #7C3AED)",
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    color: "white",
    fontWeight: "bold",
    fontSize: "18px"
  }}>
        {authorAvatar ? <img src={authorAvatar} alt={author} style={{
    width: "100%",
    height: "100%",
    borderRadius: "50%"
  }} /> : author?.[0]?.toUpperCase()}
      </div>
      <div>
        <div style={{
    fontWeight: "400",
    fontSize: "14px"
  }}>Written by <span style={{
    fontWeight: "600"
  }}>{author}</span></div>
        <div style={{
    fontSize: "14px"
  }}>Last updated <span style={{
    fontWeight: "600"
  }}>{formatDate(lastUpdated)}</span></div>
      </div>
    </div>;
};

<ArticleInfo author="Alara" lastUpdated="2026-07-04" />

<img src="https://mintcdn.com/memoryplugin/0D7zqA9Ak-TR54pG/images/logos/cursor.svg?fit=max&auto=format&n=0D7zqA9Ak-TR54pG&q=85&s=29e8dbf85127008ba0ed8381dbcddcf0" alt="Cursor" width="56" height="56" noZoom style={{ background: "#fff", borderRadius: "14px", padding: "10px", boxShadow: "0 1px 2px rgba(0,0,0,0.12)", boxSizing: "border-box" }} data-path="images/logos/cursor.svg" />

Cursor is the AI-first code editor at [cursor.com](https://cursor.com). Because Cursor speaks MCP, MemoryPlugin connects over the Model Context Protocol and brings the facts, preferences, and chat history you've built up in every other AI tool right into your editor.

## Set up

Use the remote MCP server as your primary integration. There is no install and nothing to keep running.

<Steps>
  <Step title="Add the MCP server">
    Add MemoryPlugin to Cursor using the [remote MCP server](/integrations/remote-mcp-server) URL in your MCP settings.
  </Step>

  <Step title="Approve access">
    Sign in and approve when Cursor prompts you. Your memories and chat history are then available to the agent from your next conversation.
  </Step>
</Steps>

### Local MCP server

If you prefer a local process, configure the [local MCP server](/integrations/mcp-server) instead of the remote one.

## What works here

* **All 12 MemoryPlugin tools over MCP.** Cursor can recall and save memories, recall your chat history, and search your uploaded files. No manual injection step.
* **Cross-tool context.** Whatever you told ChatGPT, Claude, or any other connected tool is available to Cursor, so you are not re-explaining your stack or preferences every session.

## Limitations

* No browser extension in Cursor. The connection is entirely over MCP.
* Whether Cursor actually calls the tools each turn is up to the model. If it forgets, ask it to check MemoryPlugin before answering.

## Next steps

<CardGroup cols={2}>
  <Card title="Remote MCP Server" icon="cloud" href="/integrations/remote-mcp-server">
    Recommended, no install
  </Card>

  <Card title="Local MCP Server" icon="server" href="/integrations/mcp-server">
    For a local process
  </Card>
</CardGroup>
