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

# Box MCP server

export const SignupCTA = ({children}) => {
  return <div className="flex flex-wrap items-center gap-4 p-5 rounded-lg border border-gray-200 dark:border-gray-700 my-6" style={{
    background: "linear-gradient(135deg, rgba(0, 97, 213, 0.06), rgba(0, 97, 213, 0.02))"
  }}>
      <div className="flex-1 text-sm leading-relaxed text-gray-700 dark:text-gray-300" style={{
    minWidth: "280px"
  }}>
        {children}
      </div>
      <div className="flex flex-col items-center gap-2">
        <a href="https://account.box.com/signup/developer#ty9l3" className="signup-cta-button inline-flex items-center whitespace-nowrap px-5 py-2 text-sm font-semibold text-white no-underline">
          Get started for free
        </a>
        <a href="https://account.box.com/developers/console" className="signup-cta-login text-xs text-gray-500 dark:text-gray-400 no-underline whitespace-nowrap">
          Already have an account? Log in
        </a>
      </div>
    </div>;
};

export const CustomCard = ({icon, title, href, tags, children, ...props}) => {
  const handleClick = e => {
    if (href) {
      e.preventDefault();
      window.location.href = href;
    }
  };
  const getDescription = () => {
    if (children) {
      if (typeof children === "string") {
        return children;
      } else {
        const childrenArray = Array.isArray(children) ? children : [children];
        for (const child of childrenArray) {
          if (typeof child === "string") {
            return child;
          } else if (child && typeof child === "object" && child.props?.children) {
            const childText = child.props.children;
            if (typeof childText === "string") {
              return childText;
            }
          }
        }
      }
    }
    return null;
  };
  const description = getDescription();
  const isCustomSvg = icon?.includes('/') || icon?.includes('.svg');
  const iconSize = isCustomSvg ? 48 : 24;
  return <a href={href} onClick={handleClick} className="flex flex-col p-6 rounded-lg border transition-all duration-200 cursor-pointer text-inherit no-underline box-border mb-3
        border-gray-200 dark:border-gray-700
        bg-white dark:bg-gray-900
        hover:border-blue-500 dark:hover:border-blue-400
        hover:shadow-md dark:hover:shadow-lg" {...props}>
      <div className="w-12 h-12 bg-purple-100 dark:bg-purple-900 rounded-lg flex items-center justify-center mb-4 overflow-hidden">
        <div className="flex items-center justify-center w-full h-full">
          <Icon icon={icon} size={iconSize} />
        </div>
      </div>
      <h3 className="text-base font-semibold text-gray-900 dark:text-gray-50 mb-3 text-left break-words mt-0">{title}</h3>
      {description && <div className="text-sm leading-relaxed text-gray-700 dark:text-gray-300 flex-1">{description}</div>}
      {tags && tags.length > 0 && <div className="flex flex-wrap gap-2 mt-auto pt-4">
          {tags.map((tag, index) => {
    const bgColor = tag.bgColor || tag.backgroundColor || "#e5e7eb";
    return <span key={index} className="px-2.5 py-1 rounded-full text-xs font-semibold uppercase tracking-wide text-gray-900" style={{
      backgroundColor: bgColor
    }}>
                {tag.text || tag.label}
              </span>;
  })}
        </div>}
    </a>;
};

Model Context Protocol ([MCP](https://modelcontextprotocol.io/introduction)) is an open protocol that standardizes how applications provide context to LLMs. MCP servers make building advanced integrations simpler and less time consuming.

Box MCP server allows third party AI agents from platforms like Anthropic's Claude, Microsoft Copilot Studio, and Mistral Le Chat to access Box content seamlessly. It extends the agent’s capabilities by allowing it to perform actions related to content stored in Box.

<Frame noborder center>
  <img src="https://mintcdn.com/box/J_EwM_J-GUl8Mc67/guides/box-mcp/img/mcp.png?fit=max&auto=format&n=J_EwM_J-GUl8Mc67&q=85&s=99afd1074e1b6218c9604b984e3e3461" alt="MCP" width="2791" height="1604" data-path="guides/box-mcp/img/mcp.png" />
</Frame>

There are two types of Box MCP servers:

* remote Box MCP server which you can create or enable in the Box Admin Console. It is hosted directly in Box.

- self-hosted Box MCP server which you can clone and host on your local machine, as this version in an open source Box Developer community project.

<SignupCTA>
  A free developer account gives you access to configure Box MCP servers and connect AI agents to your Box content.
</SignupCTA>

Check the detailed guides on both types of Box MCP servers, as the level of the implemented tools differs. Learn how to enable Box MCP server:

<Columns cols={2}>
  <CustomCard
    icon="/static/ai-dev-zone/mcp.svg"
    title="Remote Box MCP server"
    href="/guides/box-mcp/remote"
    tags={[
  { text: "New", bgColor: "#e1ffe7" },
]}
  >
    Enable the remote Box MCP server in the Admin Console. It is hosted directly in Box.
  </CustomCard>

  <CustomCard
    icon="/static/ai-dev-zone/mcp.svg"
    title="Self-hosted Box MCP server"
    href="/guides/box-mcp/self-hosted"
    tags={[
  { text: "Open source", bgColor: "#e8e8e8" },
]}
  >
    An open source Box Developer community project. You can clone this Box MCP Sever and host it on your local machine.
  </CustomCard>
</Columns>

Watch an interview with Box CTO, Ben Kus, and learn how MCP empowers AI agents to work dynamically across platforms, reducing the development effort.

<iframe width="100%" height="500" src="https://www.youtube.com/embed/u_y5_y9JGg4?si=PY2__LklwsGWwiAD" title="MCP: The API standard that makes AI actionable for enterprises | Box AI Explainer Series EP4 with Ben Kus, Box CTO" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
