cowboy-hat-store
A simple MCP server implementation for managing cowboy hat store orders.
claude mcp add --transport stdio petrbroz-cowboy-hat-store-mcp-server node path/to/server.js \ --env PORT="Port for the MCP server to listen on (default 8080)" \ --env MCP_LOG_LEVEL="Logging level (e.g., info, debug)"
How to use
Cowboy Hat Store MCP Server provides a small, fictional storefront API built to showcase MCP tooling. It exposes three core capabilities: a Create Order Tool to place a new cowboy hat order, a List Orders Tool to view existing orders (with optional filtering by customer name), and an Invoice Resource to retrieve the invoice for a specific order. Example prompts typically demonstrate constructing an order with customer details, retrieving order lists with optional filters, and fetching an invoice by order ID. The server is designed to be approachable for learning the MCP workflow and SDK usage across languages, with example prompts tailored to Python, Node.js, and .NET implementations. You can interact with the tools by issuing prompts that map to these operations and then inspecting the structured responses returned by the MCP runtime.
How to install
Prerequisites:
- Python 3.8+ or Node.js 14+ (and npm/yarn if using Node examples) or .NET 6+ for the .NET variant
- Git
Installation steps (choose the language you prefer):
Python
- git clone <repository-url>
- cd cowboy-hat-store
- python -m pip install -r requirements.txt
- python -m mvpsdk.server (or the specific entry point as shown in the Python folder)
- Ensure environment variables are set as needed (PORT, MCP_LOG_LEVEL)
Node.js
- git clone <repository-url>
- cd cowboy-hat-store
- npm install
- node path/to/server.js (as referenced in the Node.js README or package.json)
- Ensure environment variables are set as needed (PORT, MCP_LOG_LEVEL)
.NET
- git clone <repository-url>
- cd cowboy-hat-store
- dotnet restore
- dotnet run --project <path-to-project> (as indicated in the .NET folder's instructions)
- Ensure environment variables are set as needed (PORT, MCP_LOG_LEVEL)
General notes:
- Choose the language folder corresponding to your preferred SDK (Python, Node.js, or .NET) and follow its dedicated setup steps.
- Configure the server port and logging via environment variables if required.
- Start the server and test access to the MCP endpoints using the provided prompts or SDK helpers.
Additional notes
Tips and common issues:
- If you encounter port conflicts, change PORT in the environment or stop the process using that port.
- Ensure you are using matching SDK versions per language to avoid compatibility issues with the MCP protocol.
- When testing prompts, include required fields such as customer name for Create Order and order_id for Invoice retrieval.
- If the prompts do not yield expected results, enable debug logging (MCP_LOG_LEVEL=debug) to inspect internal payloads.
- The Node.js, Python, and .NET implementations are thin facades around the same MCP concepts; you can refer to one implementation to understand the common API shape across languages.
- The repository may include language-specific folders with their own README; follow those first for environment setup and tooling commands.
Related MCP Servers
mssql
MSSQL Server MCP implementation written in C#
McpDotNet.Extensions.SemanticKernel
Microsoft SemanticKernel integration for the Model Context Protocol (MCP). Enables seamless use of MCP tools as AI functions.
DatabaseMcpServer
MCP server from ttcc666/DatabaseMcpServer
mcp-dataverse
MCP Server for querying Dataverse using SQL
xperience-community
ASP.NET Core MCP server for Xperience by Kentico projects
console-to-http
Example of converting a stdio MCP server to HTTP using ModelContextProtocol.AspNetCore