AgentCat Guides
Try out AgentCatWebMCP
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.
MCP Debugging
Test and debug MCP servers using inspector tools and debugging techniques
MCP Inspector: testing and debugging MCP servers
The complete guide to MCP Inspector: launch it with npx, point it at stdio or Streamable HTTP servers, drive it from the CLI in CI, test OAuth, and understand the post-CVE-2025-49596 token model.
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.
Security tests for MCP server endpoints
Security-test an MCP server with real, verifiable tools: scan tool descriptions for poisoning and line jumping, probe the Streamable HTTP endpoint with the Inspector CLI and curl, and check OAuth Resource Server behavior against the 2026-07-28 spec.
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.
Stream MCP Server Logs to Datadog for Observability
Forward MCP server logs and metrics to Datadog using AgentCat's native integration for complete observability.
Monitor MCP Server Performance with OpenTelemetry
Connect MCP servers to any OpenTelemetry-compatible platform for distributed tracing and performance monitoring.
MCP Performance & Scaling
Optimize MCP servers for performance and scale them for production deployments
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.
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.
Building a health check endpoint for your MCP server
Implement health check endpoints for MCP servers to enable monitoring, load balancing, and automated recovery.
Stream MCP Server Logs to Datadog for Observability
Forward MCP server logs and metrics to Datadog using AgentCat's native integration for complete observability.
Set Up Multi-Platform Telemetry for MCP Servers
Send MCP telemetry data to multiple observability platforms simultaneously for comprehensive monitoring.
Monitor MCP Server Performance with OpenTelemetry
Connect MCP servers to any OpenTelemetry-compatible platform for distributed tracing and performance monitoring.
MCP Testing
Write comprehensive tests for MCP servers including unit, integration, and security tests
Writing unit tests for MCP servers
Unit-test MCP tool handlers in-process with an in-memory transport: FastMCP's Client and the SDK's connected client-server helpers in Python, and InMemoryTransport.createLinkedPair in TypeScript, including the isError result the SDK returns instead of throwing.
Integration tests for MCP flows
Test a full MCP flow end to end: connect an in-memory client to your real server, run initialize then list then a chain of tool calls, and assert on what came back.
MCP Inspector: testing and debugging MCP servers
The complete guide to MCP Inspector: launch it with npx, point it at stdio or Streamable HTTP servers, drive it from the CLI in CI, test OAuth, and understand the post-CVE-2025-49596 token model.
Security tests for MCP server endpoints
Security-test an MCP server with real, verifiable tools: scan tool descriptions for poisoning and line jumping, probe the Streamable HTTP endpoint with the Inspector CLI and curl, and check OAuth Resource Server behavior against the 2026-07-28 spec.
Building a health check endpoint for your MCP server
Implement health check endpoints for MCP servers to enable monitoring, load balancing, and automated recovery.
Validation tests for tool inputs
Write validation tests for MCP tool inputs covering schema validation and type checking.
MCP Security
Ensure MCP servers are deployed safely following security best practices
Detecting Tool Poisoning Attacks with mcp-watch
Scan MCP servers for tool poisoning and related attacks with mcp-watch: what the scan and scan-local commands actually check, how to read the output, and where the threat taxonomy comes from.
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.
Security tests for MCP server endpoints
Security-test an MCP server with real, verifiable tools: scan tool descriptions for poisoning and line jumping, probe the Streamable HTTP endpoint with the Inspector CLI and curl, and check OAuth Resource Server behavior against the 2026-07-28 spec.
Implementing CORS Policies for Web-Based MCP Servers
Configure Cross-Origin Resource Sharing (CORS) policies for web-based MCP servers to enable secure browser access.
Implementing Content Security Policies for MCP Resources
Protect MCP server resources with Content Security Policy (CSP) headers to prevent XSS and injection attacks.
Building a health check endpoint for your MCP server
Implement health check endpoints for MCP servers to enable monitoring, load balancing, and automated recovery.
ChatGPT Apps
Build ChatGPT apps and MCP Apps: MCP servers with interactive UI that render inline in ChatGPT, Claude, and other hosts
Publish Your MCP Server as a ChatGPT and Codex Plugin
The manifest, the .app.json vs .mcp.json decision, and what the submission portal checks before your server reaches the shared plugin directory.
ChatGPT Plugins: The New Plugin System vs. the 2023 Program
The name came back for something else. What a ChatGPT plugin is now, where it actually works, and how it differs from GPTs, apps, and connectors.
One MCP App, Two Hosts: UI That Renders in Claude and ChatGPT
An app's UI is just an MCP resource. What's standard, what's ChatGPT-specific, and the diff that makes one server render in both hosts.
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.
Claude Connectors
Build, ship, and debug remote MCP servers that run as connectors in Claude
Getting Your Connector into the Claude Connectors Directory
What reviewers check before a connector is listed, which requirements are one-way doors, and why submitting needs a Team or Enterprise org.
Claude Connectors vs. MCP Servers vs. the MCP Connector API
Three separate things get called a connector: the integration you enable in Claude, a Messages API feature, and MCP servers generally. Which is which.
One MCP App, Two Hosts: UI That Renders in Claude and ChatGPT
An app's UI is just an MCP resource. What's standard, what's ChatGPT-specific, and the diff that makes one server render in both hosts.
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.
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.
Cursor
Supercharge your development speed using Cursor with MCP servers