Coin Flip MCP Server
# Coin Flip MCP Server
An MCP server that provides true random coin flips using random.org's randomness API. This server demonstrates the Model Context Protocol by providing a tool for generating random outcomes with configurable sides.
## Features
### Tools
- `flip_coin` - Flip a coin with configurable number of sides
- Optional `sides` parameter (default: 2)
- Uses true randomness from random.org
- Special handling for edge cases (0, 1, or negative sides)
- For 2 sides: Returns "Heads" or "Tails"
- For 3 sides: Returns "Heads", "Tails", or "_"
- For n>3 sides: Returns "It landed on side X"
## Development
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
## Installation
To use with Claude Desktop, add the server config:
On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"coin-flip": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-coin-flip"]
}
}
}
```
## Example Usage
Once connected to an MCP client like Claude Desktop, you can use natural language to interact with the coin flip tool. For example:
- "Flip a coin"
- "Roll a 6-sided die"
- "Give me a random number between 1 and 20"
The server will use true randomness from random.org to generate the result.
## Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):
```bash
npx @modelcontextprotocol/inspector node build/index.js
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
MIT
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool 'flip_coin' has a single, clearly defined purpose.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'flip_coin' follows a clear verb_noun pattern.
A single tool is too few for a server's purpose, as it limits functionality and suggests an incomplete or overly narrow scope. While the tool is versatile, the server would benefit from additional tools to support more complex operations.
The server's domain appears to be random generation or decision-making, but with only one tool, there are significant gaps. For example, there are no tools for setting parameters, retrieving results, or managing multiple flips in a structured way, which limits agent workflows.