Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/δΈ­ζ–‡
Sign inSign up
Home/Servers/Sample Shop MCP Server

Sample Shop MCP Server

by io.github.apitoagents

Sample shop MCP server: paginated search, idempotent orders, guarded cancellation. Four languages.

Power your agent

Add this server

The publisher's own URL. Not a PlugMCP endpoint.

Server URL
https://demo.apitoagents.com/mcp
Provider
Add in Claude

Claude opens with the name and URL filled in. You still confirm it there.

Claude Code
claude mcp add --transport http io.github.apitoagents-sample-shop-mcp https://demo.apitoagents.com/mcp

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.apitoagents-sample-shop-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://demo.apitoagents.com/mcp"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • FirecrawlπŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Questions

How do I install Sample Shop MCP Server?
Copy the http config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Sample Shop MCP Server need an API key?
No required environment variable is listed on this record.
What transport does Sample Shop MCP Server use?
Sample Shop MCP Server is reached over HTTP.
When was Sample Shop MCP Server last checked?
Last checked 2026-10-21. Sample shop MCP server: paginated search, idempotent orders, guarded cancellation. Four languages.

Sample shop MCP server: paginated search, idempotent orders, guarded cancellation. Four languages.

MCP server examples: one API, four languages, one tool interface

Ready-to-clone examples that expose a REST API to ChatGPT, Claude and any other MCP client, written with the official Model Context Protocol SDKs for TypeScript, Python, C# and PHP. All four servers wrap the same small Sample Shop API and publish an identical set of four tools, and a conformance test proves it by running the same scenario against each of them in CI.

Maintained by API to Agents, which builds and hosts this kind of server for companies that would rather not. The examples are MIT licensed; use them as a starting point for your own API.

What the examples show

Every integration needs the same three kinds of tool, and every example here has them:

ToolKindWhat it demonstrates
search_productsreadPagination with an opaque nextCursor, summarised results instead of raw records, a description that tells the assistant when the list is incomplete
get_productreadLookup by id, "not found" reported as an error that says not to retry
create_orderwriteIdempotency: the assistant generates a key and reuses it on retry, so a timeout never creates a duplicate order
cancel_orderguardedRefuses to act until called with confirm=true, after showing the user what will be cancelled

Also shown in each: the upstream API key lives in the server's environment and is never visible to the assistant; errors distinguish invalid input, not found, conflict and upstream unavailable, each with a hint about what to do next; tools carry readOnlyHint, destructiveHint and idempotentHint annotations.

Layout

sample-api/   Zero-dependency Node server + openapi.json. Products, orders, idempotent create, cancel.
typescript/   @modelcontextprotocol/server 2.3 + express, Streamable HTTP, stateless
python/       mcp 2.3 (MCPServer), Streamable HTTP, stateless
csharp/       ModelContextProtocol.AspNetCore 2.2, .NET 10, Streamable HTTP, stateless
php/          mcp/sdk 0.8, PHP 8.2+, Streamable HTTP with a file session store
tests/        Conformance scenario (TypeScript client) run against each server in CI

Run it

Start the sample API once; it listens on 127.0.0.1:4010 and expects X-API-Key: demo-key.

node sample-api/server.mjs

Then start any server. Each reads UPSTREAM_URL (default http://127.0.0.1:4010) and UPSTREAM_API_KEY (default demo-key) from the environment.

# TypeScript β€” http://127.0.0.1:3001/mcp
cd typescript && npm ci && npm run build && npm start

# Python β€” http://127.0.0.1:3002/mcp
cd python && python -m venv .venv && .venv/bin/pip install -r requirements.txt && .venv/bin/python server.py

# C# β€” http://127.0.0.1:3003/mcp
cd csharp && dotnet run

# PHP β€” http://127.0.0.1:3004/mcp
cd php && composer install && php -S 127.0.0.1:3004 public/index.php

Run the conformance scenario against whichever one is up:

cd tests && npm ci && MCP_URL=http://127.0.0.1:3001/mcp npm test

Connect an assistant

Each server is a remote MCP server over Streamable HTTP at /mcp. For a client on another machine, expose it over HTTPS and point the client at that URL:

  • Claude (web, desktop, Claude Code): add it as a custom connector or MCP server by URL.
  • ChatGPT: add it through the connector settings available on your plan.
  • Any MCP client: use the Streamable HTTP transport with the server URL.

These examples use an API key on the upstream side only and no authentication on the MCP endpoint itself, which is fine on localhost and wrong on the internet. Before exposing one publicly, add bearer-token or OAuth protection at the endpoint; each SDK documents how.

Adapting to your own API

  1. Replace sample-api/openapi.json with your API description and the shop client in your language of choice with calls to your endpoints.
  2. Keep the tool count small and outcome-shaped. The point is not to mirror every endpoint; see choosing which API actions to expose.
  3. Keep the three kinds distinct: reads with permission checks, writes with idempotency keys, guarded actions with confirmation.
  4. Keep the conformance test: edit tests/conformance.mjs to your tools and run it against every change.

Or run the free Agent Readiness Audit: it reads your documentation and proposes the tools, the boundaries and a fixed price for having it built and hosted.

License

MIT. See LICENSE.

How do I install Sample Shop MCP Server?
Copy the http config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Sample Shop MCP Server need an API key?
No required environment variable is listed on this record.
What transport does Sample Shop MCP Server use?
Sample Shop MCP Server is reached over HTTP.
When was Sample Shop MCP Server last checked?
Last checked 2026-10-21. Sample shop MCP server: paginated search, idempotent orders, guarded cancellation. Four languages.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Pricing
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • MCP Apps
  • Tools
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • Club
  • Work with us
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA