Click Below to Get the Code

Browse, clone, and build from real-world templates powered by Harper.
Blog
GitHub Logo

Harper 5.1 Makes Your Applications MCP-Native

Harper 5.1 introduces native MCP support, auto-generating secure tools from your application schema so agents can access data, invoke operations, and connect through standard clients without adapter code or infrastructure.
Blog

Harper 5.1 Makes Your Applications MCP-Native

Kris Zyp
SVP of Engineering
at Harper
June 16, 2026
Kris Zyp
SVP of Engineering
at Harper
June 16, 2026
Kris Zyp
SVP of Engineering
at Harper
June 16, 2026
June 16, 2026
Harper 5.1 introduces native MCP support, auto-generating secure tools from your application schema so agents can access data, invoke operations, and connect through standard clients without adapter code or infrastructure.
Kris Zyp
SVP of Engineering

Harper 5.1 ships a complete MCP (Model Context Protocol) server implementation. Any MCP-compatible client — Claude Desktop, Cursor, Copilot Studio, or your own agent — can connect directly to a Harper instance, read and write records, and invoke operations through a standardized protocol.

The notable part isn't just that Harper speaks MCP. It's that Harper generates its tools automatically from your application's schema. When you deploy a component with HTTP resource handlers, Harper surfaces those as callable MCP tools without you writing any adapter code.

How it works

Harper's MCP server runs on two transports:

  • Streamable HTTP (spec 2025-06-18) on both the operations port and the application port
  • stdio, via the new harper mcp CLI, for local agent integrations

Sessions are stored in a native system.mcp_session Harper table with TTL-based expiration, so there's no separate session store to manage. Sliding-window idle TTL means active sessions stay alive; idle ones expire automatically.

Tool generation

Two categories of tools are auto-generated:

Operations tools surface Harper's management operations — describe_table, insert, search_by_value, and so on — scoped to what the authenticated user can actually do. RBAC applies at the tools/list level, so a user who can't write to a table won't see write tools for it.

Application tools are generated from your deployed component's HTTP resource handlers. Harper inspects the exported schema and emits a tool per operation. Custom resources can opt in explicitly via static mcpTools to control the tool name, description, and parameter schema:

export class ProductSearch extends Resource {
  static mcpTools = {
    search: {
      description: 'Search products by semantic similarity',
      inputSchema: {
        type: 'object',
        properties: {
          query: { type: 'string' },
          limit: { type: 'number', default: 10 }
        },
        required: ['query']
      }
    }
  };

  async get(query) {
    // ...
  }
}

RBAC and audit

Every tool call is logged to an audit trail. Each MCP session has its own rate-limit bucket, with separate limits for read and write operations. The limits are configurable; the defaults are conservative. Session IDs are bound to the authenticated user, so a leaked session ID can't be used by a different user.

listChanged notifications are supported — clients with active subscriptions receive updates when tables or components change while a session is open.

Getting started

If you're running Harper locally and want to connect Claude Desktop, the quickest path is the stdio transport:

harper mcp --profile default

This starts a stdio MCP server authenticated against your local instance. Running harper mcp doctor will confirm the connection resolves cleanly and show which tools are visible.

For a remote or production connection, add an mcp block to your Harper config and point your client at https://your-harper-host/mcp. The Streamable HTTP transport handles reconnection and session resumption automatically.

Tradeoffs and current limitations

Tool names are derived from operation names and HTTP method + path, which can produce verbose names for complex schemas. The static mcpTools opt-in is the current mechanism for controlling this — a more general alias layer isn't in 5.1.

Full-table list tools without a filter predicate can be expensive. If you're letting an agent drive queries across large tables, scoping the exported schema or using static mcpTools to constrain inputs is worth doing upfront.

The tools surface is built to evolve: the tool registry and dispatch architecture in 5.1 is designed to accept additional tool categories (like vector search tools tied to HNSW indexes) as follow-on work.

Harper 5.1 ships a complete MCP (Model Context Protocol) server implementation. Any MCP-compatible client — Claude Desktop, Cursor, Copilot Studio, or your own agent — can connect directly to a Harper instance, read and write records, and invoke operations through a standardized protocol.

The notable part isn't just that Harper speaks MCP. It's that Harper generates its tools automatically from your application's schema. When you deploy a component with HTTP resource handlers, Harper surfaces those as callable MCP tools without you writing any adapter code.

How it works

Harper's MCP server runs on two transports:

  • Streamable HTTP (spec 2025-06-18) on both the operations port and the application port
  • stdio, via the new harper mcp CLI, for local agent integrations

Sessions are stored in a native system.mcp_session Harper table with TTL-based expiration, so there's no separate session store to manage. Sliding-window idle TTL means active sessions stay alive; idle ones expire automatically.

Tool generation

Two categories of tools are auto-generated:

Operations tools surface Harper's management operations — describe_table, insert, search_by_value, and so on — scoped to what the authenticated user can actually do. RBAC applies at the tools/list level, so a user who can't write to a table won't see write tools for it.

Application tools are generated from your deployed component's HTTP resource handlers. Harper inspects the exported schema and emits a tool per operation. Custom resources can opt in explicitly via static mcpTools to control the tool name, description, and parameter schema:

export class ProductSearch extends Resource {
  static mcpTools = {
    search: {
      description: 'Search products by semantic similarity',
      inputSchema: {
        type: 'object',
        properties: {
          query: { type: 'string' },
          limit: { type: 'number', default: 10 }
        },
        required: ['query']
      }
    }
  };

  async get(query) {
    // ...
  }
}

RBAC and audit

Every tool call is logged to an audit trail. Each MCP session has its own rate-limit bucket, with separate limits for read and write operations. The limits are configurable; the defaults are conservative. Session IDs are bound to the authenticated user, so a leaked session ID can't be used by a different user.

listChanged notifications are supported — clients with active subscriptions receive updates when tables or components change while a session is open.

Getting started

If you're running Harper locally and want to connect Claude Desktop, the quickest path is the stdio transport:

harper mcp --profile default

This starts a stdio MCP server authenticated against your local instance. Running harper mcp doctor will confirm the connection resolves cleanly and show which tools are visible.

For a remote or production connection, add an mcp block to your Harper config and point your client at https://your-harper-host/mcp. The Streamable HTTP transport handles reconnection and session resumption automatically.

Tradeoffs and current limitations

Tool names are derived from operation names and HTTP method + path, which can produce verbose names for complex schemas. The static mcpTools opt-in is the current mechanism for controlling this — a more general alias layer isn't in 5.1.

Full-table list tools without a filter predicate can be expensive. If you're letting an agent drive queries across large tables, scoping the exported schema or using static mcpTools to constrain inputs is worth doing upfront.

The tools surface is built to evolve: the tool registry and dispatch architecture in 5.1 is designed to accept additional tool categories (like vector search tools tied to HNSW indexes) as follow-on work.

Harper 5.1 introduces native MCP support, auto-generating secure tools from your application schema so agents can access data, invoke operations, and connect through standard clients without adapter code or infrastructure.

Download

White arrow pointing right
Harper 5.1 introduces native MCP support, auto-generating secure tools from your application schema so agents can access data, invoke operations, and connect through standard clients without adapter code or infrastructure.

Download

White arrow pointing right
Harper 5.1 introduces native MCP support, auto-generating secure tools from your application schema so agents can access data, invoke operations, and connect through standard clients without adapter code or infrastructure.

Download

White arrow pointing right

Explore Recent Resources

Media Coverage
GitHub Logo

Harper Argues Against the Multi-System Stack and Releases 5.2

InfoQ examines benchmark results comparing co-located and serverless architectures, highlighting faster personalized-data paths, serverless advantages under heavy fan-out, and the performance implications of eliminating network hops between services at scale.
Media Coverage
InfoQ examines benchmark results comparing co-located and serverless architectures, highlighting faster personalized-data paths, serverless advantages under heavy fan-out, and the performance implications of eliminating network hops between services at scale.
Renato Losio, Staff Editor at InfoQ
Renato Losio
InfoQ Staff Editor
Media Coverage

Harper Argues Against the Multi-System Stack and Releases 5.2

InfoQ examines benchmark results comparing co-located and serverless architectures, highlighting faster personalized-data paths, serverless advantages under heavy fan-out, and the performance implications of eliminating network hops between services at scale.
Renato Losio
Aug 2026
Media Coverage

Harper Argues Against the Multi-System Stack and Releases 5.2

InfoQ examines benchmark results comparing co-located and serverless architectures, highlighting faster personalized-data paths, serverless advantages under heavy fan-out, and the performance implications of eliminating network hops between services at scale.
Renato Losio
Media Coverage

Harper Argues Against the Multi-System Stack and Releases 5.2

InfoQ examines benchmark results comparing co-located and serverless architectures, highlighting faster personalized-data paths, serverless advantages under heavy fan-out, and the performance implications of eliminating network hops between services at scale.
Renato Losio
Blog
GitHub Logo

Faster by Doing Less: How Harper 5.2 Engineers Database Performance

Harper 5.2 attacks database performance on three fronts: a per-worker record cache validated through lock-free atomic version slots, isolated commit scheduling to keep database writes off the application thread, and query planner improvements that route through the shortest available data path.
Cache
Blog
Harper 5.2 attacks database performance on three fronts: a per-worker record cache validated through lock-free atomic version slots, isolated commit scheduling to keep database writes off the application thread, and query planner improvements that route through the shortest available data path.
Person with very short blonde hair wearing a light gray button‑up shirt, standing with arms crossed and smiling outdoors with foliage behind.
Kris Zyp
SVP of Engineering
Blog

Faster by Doing Less: How Harper 5.2 Engineers Database Performance

Harper 5.2 attacks database performance on three fronts: a per-worker record cache validated through lock-free atomic version slots, isolated commit scheduling to keep database writes off the application thread, and query planner improvements that route through the shortest available data path.
Kris Zyp
Aug 2026
Blog

Faster by Doing Less: How Harper 5.2 Engineers Database Performance

Harper 5.2 attacks database performance on three fronts: a per-worker record cache validated through lock-free atomic version slots, isolated commit scheduling to keep database writes off the application thread, and query planner improvements that route through the shortest available data path.
Kris Zyp
Blog

Faster by Doing Less: How Harper 5.2 Engineers Database Performance

Harper 5.2 attacks database performance on three fronts: a per-worker record cache validated through lock-free atomic version slots, isolated commit scheduling to keep database writes off the application thread, and query planner improvements that route through the shortest available data path.
Kris Zyp
News
GitHub Logo

Harper Recognized as an Honorable Mention in the 2026 Gartner® Magic Quadrant™ for Cloud-Native Application Platforms

Harper’s inclusion highlights a broader shift toward integrated cloud-native platforms that unify data, caching, messaging, and application logic. The article explains how Harper’s distributed runtime and managed infrastructure reduce operational complexity, improve performance, and support modern applications and AI agents that require fast, reliable access to state, events, and tools.
Announcement
News
Harper’s inclusion highlights a broader shift toward integrated cloud-native platforms that unify data, caching, messaging, and application logic. The article explains how Harper’s distributed runtime and managed infrastructure reduce operational complexity, improve performance, and support modern applications and AI agents that require fast, reliable access to state, events, and tools.
Person with short dark hair and moustache, wearing a colorful plaid shirt, smiling outdoors in a forested mountain landscape.
Aleks Haugom
Senior Manager of GTM
News

Harper Recognized as an Honorable Mention in the 2026 Gartner® Magic Quadrant™ for Cloud-Native Application Platforms

Harper’s inclusion highlights a broader shift toward integrated cloud-native platforms that unify data, caching, messaging, and application logic. The article explains how Harper’s distributed runtime and managed infrastructure reduce operational complexity, improve performance, and support modern applications and AI agents that require fast, reliable access to state, events, and tools.
Aleks Haugom
Aug 2026
News

Harper Recognized as an Honorable Mention in the 2026 Gartner® Magic Quadrant™ for Cloud-Native Application Platforms

Harper’s inclusion highlights a broader shift toward integrated cloud-native platforms that unify data, caching, messaging, and application logic. The article explains how Harper’s distributed runtime and managed infrastructure reduce operational complexity, improve performance, and support modern applications and AI agents that require fast, reliable access to state, events, and tools.
Aleks Haugom
News

Harper Recognized as an Honorable Mention in the 2026 Gartner® Magic Quadrant™ for Cloud-Native Application Platforms

Harper’s inclusion highlights a broader shift toward integrated cloud-native platforms that unify data, caching, messaging, and application logic. The article explains how Harper’s distributed runtime and managed infrastructure reduce operational complexity, improve performance, and support modern applications and AI agents that require fast, reliable access to state, events, and tools.
Aleks Haugom