AgentCat Guides

Try out AgentCat

WebMCP

Build browser-native MCP tools with WebMCP using navigator.modelContext and webmcp-react

Test WebMCP Tools with Model Context Tool Inspector

Install and use Google's Model Context Tool Inspector extension to test, debug, and inspect your WebMCP tools in Chrome DevTools.

Register your first WebMCP tool with navigator.modelContext

How to use navigator.modelContext to register tools that AI agents can call directly from your website.

Dynamically register and unregister WebMCP tools

Control which WebMCP tools are available based on user roles, routes, or feature flags using conditional rendering and lifecycle hooks.

Build declarative WebMCP tools with HTML form attributes

Turn existing HTML forms into MCP tools using declarative attributes — no JavaScript required.

Connect WebMCP browser tools to Cursor

Configure Cursor to discover and call WebMCP tools from your browser tabs using the bridge extension and webmcp-server.

Connect WebMCP Tools to Claude Code via Bridge Extension

Set up the WebMCP bridge extension and webmcp-server to expose browser tools to Claude Code over stdio.

Build WebMCP tools with Vue.js using navigator.modelContext

Create a Vue 3 composable that registers and unregisters WebMCP tools tied to component lifecycle.

Build a WebMCP confirmation flow with requestUserInteraction

Use the requestUserInteraction API to prompt users for confirmation before executing destructive WebMCP tool actions.

Add WebMCP tools to a WordPress site without JavaScript

Use WebMCP's declarative HTML form attributes to expose tools from a WordPress site — no JavaScript or build step required.

Add WebMCP tools to a React app with webmcp-react

How to use the webmcp-react library to register WebMCP tools in React with Zod schemas and connect them to desktop clients.

Add WebMCP tools to a Next.js App Router project

Set up webmcp-react in a Next.js 15 App Router project with proper client component boundaries and SSR handling.

MCP Dev Quickstart

Quickly get started building your own MCP server with popular frameworks and tools

Build a Custom Claude Connector with a Remote MCP Server

Stand up a remote MCP server in TypeScript, expose it publicly, add it to Claude as a custom connector, and fix the connection when it breaks.

Building a serverless MCP server

Deploy an MCP server to AWS Lambda, Cloudflare Workers, or Vercel over Streamable HTTP, using stateless request handling so a fresh instance can serve any request.

Building an MCP server in Rust

Build an MCP server with the official Rust SDK (rmcp): the tool_router and tool macros, typed Parameters, structured output with Json, the tool-vs-protocol error contract, and both stdio and Streamable HTTP transports with runnable code. Pinned to the rmcp 2.2.0 line; rmcp 3.x targets the 2026-07-28 spec revision.

OpenAI Apps SDK TypeScript Quickstart

Build a working ChatGPT app in TypeScript: an MCP server whose tool is bound to a ui:// resource so the widget actually renders inline. Uses McpServer, the MCP Apps extension helpers, and Streamable HTTP, verified against current docs.

OpenAI Apps SDK Python Quickstart

Build a working ChatGPT app in Python: an MCP server whose tool is bound to a ui:// resource so the widget actually renders inline. Uses the in-SDK FastMCP, its meta= decorator argument, and Streamable HTTP, cross-checked against OpenAI's official Python example.

Error handling in custom MCP servers

The one distinction that governs MCP error handling: protocol errors are JSON-RPC errors that fail the request, while tool failures are ordinary results with isError set true so the model can see and recover from them.

Configuring MCP installations for production deployments

What actually changes when an MCP server moves from your laptop to production: Streamable HTTP transport, the OAuth Resource Server auth model, Origin validation and DNS rebinding, statelessness, and secrets. The MCP-specific parts, verified against the 2026-07-28 spec revision and the SDKs, with the generic DevOps trimmed.

Building a Streamable HTTP MCP server

Build a remote MCP server on the Streamable HTTP transport with the official TypeScript SDK, in the shape the 2026-07-28 spec revision requires: one POST-only endpoint, the headers that bite people, OAuth, and scaling out now that sessions are gone.

Building an MCP server in TypeScript

Build an MCP server with the TypeScript SDK: the @modelcontextprotocol/sdk 1.x McpServer API pinned to 1.30.0, registerTool with structured output, and both transports (stdio and Streamable HTTP), plus a note on the newer split @modelcontextprotocol/server 2.0 line for the 2026-07-28 spec revision.

Building an MCP server in Python using FastMCP

Build an MCP server in Python with FastMCP, with a clear answer to the question that trips everyone up: the in-SDK MCPServer (called FastMCP before the 2026-07-28 rename) versus the standalone fastmcp package, and which one to install.

Building an MCP server in Go

Build an MCP server with the official Go SDK: mcp.NewServer plus the generic AddTool that infers schemas from your structs, resources, prompts, and both transports (stdio and Streamable HTTP), including the stateless model the 2026-07-28 spec revision introduced and how to turn it on in go-sdk v1.7.0.

Adding custom tools to an MCP server in TypeScript

How to author high-quality MCP tools in TypeScript with registerTool: Zod input schemas, structured output, error handling, and behavior annotations. Written for the @modelcontextprotocol/sdk 1.x line, with a note on the split 2.0 packages for the 2026-07-28 spec revision.

Adding custom tools to an MCP server in Python

A deep dive into authoring MCP tools in Python with FastMCP: how type hints become the input schema, how docstrings become descriptions, validating arguments with Field, returning structured output, and choosing between raising and returning errors so the model can react.

Register your first WebMCP tool with navigator.modelContext

How to use navigator.modelContext to register tools that AI agents can call directly from your website.

Dynamically register and unregister WebMCP tools

Control which WebMCP tools are available based on user roles, routes, or feature flags using conditional rendering and lifecycle hooks.

Build declarative WebMCP tools with HTML form attributes

Turn existing HTML forms into MCP tools using declarative attributes — no JavaScript required.

Build WebMCP tools with Vue.js using navigator.modelContext

Create a Vue 3 composable that registers and unregisters WebMCP tools tied to component lifecycle.

Build a WebMCP confirmation flow with requestUserInteraction

Use the requestUserInteraction API to prompt users for confirmation before executing destructive WebMCP tool actions.

Add WebMCP tools to a WordPress site without JavaScript

Use WebMCP's declarative HTML form attributes to expose tools from a WordPress site — no JavaScript or build step required.

Add WebMCP tools to a React app with webmcp-react

How to use the webmcp-react library to register WebMCP tools in React with Zod schemas and connect them to desktop clients.

Add WebMCP tools to a Next.js App Router project

Set up webmcp-react in a Next.js 15 App Router project with proper client component boundaries and SSR handling.

Set Up Multi-Platform Telemetry for MCP Servers

Send MCP telemetry data to multiple observability platforms simultaneously for comprehensive monitoring.

Installing MCP servers globally vs locally: which approach to choose

Choose between global and local MCP server installations based on your project needs and workflow.

How to fork and customize an open-source MCP server

Fork and customize existing MCP servers to add new tools, resources, and functionality for your needs.

Building a stdio MCP server

Build MCP servers with stdio transport for local CLI tools and subprocess communication.

MCP Connection Management

Understand transport protocols, manage connections, and debug common connection errors

Understanding the JSON-RPC protocol and how it's used in MCP

How MCP uses JSON-RPC 2.0 for every client-server message: request, response, and notification shapes, the per-request metadata that replaced the initialize handshake, core methods, and the real error codes.

Fixing "MCP error -32001: Request timed out" errors

Why MCP requests hit the -32001 timeout, and the real fixes: emit progress to reset the clock, raise the client's timeout, or return fast and finish work in the background.

Configuring MCP servers for multiple simultaneous connections

How MCP servers actually serve concurrent clients under the 2026-07-28 spec revision: a stateless protocol with per-request metadata, no session IDs to track, and the dual-era support production servers still need for older clients.

Comparing stdio vs. SSE vs. Streamable HTTP

How to choose an MCP transport: stdio for local subprocesses, Streamable HTTP for remote services, and why the old HTTP+SSE transport is deprecated, not a third option.

Configuring MCP transport protocols for Docker containers

Configure stdio, SSE, and StreamableHTTP transport protocols for MCP servers running in Docker containers with practical examples and troubleshooting.

Implementing connection health checks and monitoring

Implement health checks and monitoring for MCP servers to ensure reliable production deployments.

Fixing "Method not found (-32601)" JSON-RPC errors

Troubleshoot JSON-RPC method not found errors in MCP servers with detailed debugging strategies.

Fixing "MCP error -32000: Connection closed" errors

Resolve MCP error 32000 connection closed issues with platform-specific solutions and debugging steps.

Debugging message serialization errors in MCP protocol

Debug and fix MCP message serialization errors with proven troubleshooting techniques.

Configuring MCP transport protocols for Docker containers

Configure MCP servers in Docker containers with proper transport protocols and networking.

Claude Code

Get the most out of Claude Code with workflows, tips, and the best MCP servers

Using OpenAI's Codex Plugin in Claude Code

Install OpenAI's Codex plugin in Claude Code, run second-opinion reviews, delegate tasks to Codex, and know which auth each side needs.

Which plan to choose: Pro, Max 5x, Max 20x

Compare Claude Code subscription plans to find the perfect fit for your development needs and usage patterns.

Send MCP Server Errors to Sentry for Real-Time Alerting

Wire Sentry into a production MCP server. The current sentry-sdk auto-captures tool-handler exceptions through a default MCP integration, so basic error reporting needs no manual code.

Importing MCP server setup from Claude Desktop to Claude Code

Migrate the MCP servers you configured in Claude Desktop into Claude Code, including the one-command import, the scope decision it forces you to make, and the manual path when import isn't available.

Adding an MCP server to Claude Code

How to add MCP servers to Claude Code with the claude mcp add CLI: stdio, remote HTTP, and SSE transports, the three storage scopes, OAuth, and the config files Claude Code actually reads.

Connect WebMCP Tools to Claude Code via Bridge Extension

Set up the WebMCP bridge extension and webmcp-server to expose browser tools to Claude Code over stdio.

Best MCP servers for Claude Code

Discover the most powerful MCP servers to enhance your Claude Code development workflow with specialized tools and integrations.

Reference other files using @ in Claude Code

Master the @ syntax in Claude Code to efficiently reference files, reduce context usage, and improve collaboration accuracy.

Managing Claude Code context to reduce limits

Master context management in Claude Code to maximize your usage limits and maintain efficient coding sessions throughout the day.

Ask Claude Code to read documentation before responding

Learn how to make Claude Code read and understand documentation before implementing features, ensuring accurate and idiomatic code.

Quickstart with Claude Code

Get started with Claude Code in minutes. Learn essential commands and features to boost your development workflow.