standshare-mcp
by GraditiPro
README.md
# standshare-mcp
[](https://github.com/GraditiPro/standshare-mcp/actions/workflows/ci.yml)
[](https://github.com/GraditiPro/standshare-mcp/actions/workflows/codeql.yml)
[](https://socket.dev/npm/package/@graditipro/standshare-mcp)
[](https://www.npmjs.com/package/@graditipro/standshare-mcp)
[](https://opensource.org/licenses/MIT)
[](https://github.com/modelcontextprotocol/typescript-sdk)
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server for the StandShare API. Gives Claude and other MCP clients composable tools for managing fundraising events, families, workers, finances, notifications, and reports within a StandShare organization.
StandShare is a family fundraising platform where organizations manage concession stand events, assign workers, track attendance, and distribute earnings to family accounts.
---
## Tools
| Tool | Description |
|------|-------------|
| `events` | Search, view, create, and update fundraising events; add stands |
| `families` | Search, view (with balance), create families; add members |
| `users` | Search, view, create, and invite user accounts |
| `venues` | Search and view venue details |
| `finances` | Family balances, event revenue, transactions, settlement, credits, scholarships |
| `workers` | Event rosters, assign workers, update attendance, check availability, view history |
| `notifications` | List, send to individual users, and broadcast org-wide announcements |
| `reports` | Admin dashboard KPIs, financial summaries, family compliance status |
## Resources
| URI | Description |
|-----|-------------|
| `standshare://guide` | Domain guide covering the entity model, financial model, and migration playbook |
---
## Installation
### Claude Desktop
Add the following to your `claude_desktop_config.json`:
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
#### Option A — API Token (recommended)
```json
{
"mcpServers": {
"standshare": {
"command": "npx",
"args": ["-y", "@graditipro/standshare-mcp"],
"env": {
"STANDSHARE_API_URL": "https://api.standshare.com",
"STANDSHARE_TENANT_SLUG": "your-org-slug",
"STANDSHARE_API_TOKEN": "your-api-token"
}
}
}
}
```
#### Option B — Email & Password
```json
{
"mcpServers": {
"standshare": {
"command": "npx",
"args": ["-y", "@graditipro/standshare-mcp"],
"env": {
"STANDSHARE_API_URL": "https://api.standshare.com",
"STANDSHARE_TENANT_SLUG": "your-org-slug",
"STANDSHARE_EMAIL": "admin@yourorg.com",
"STANDSHARE_PASSWORD": "your-password"
}
}
}
}
```
After editing, restart Claude Desktop. Verify the server loaded via the hammer icon (🔨) in the toolbar.
### Other MCP Clients
Run directly:
```bash
STANDSHARE_API_URL=https://api.standshare.com \
STANDSHARE_TENANT_SLUG=your-org-slug \
STANDSHARE_API_TOKEN=your-api-token \
npx @graditipro/standshare-mcp
```
---
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `STANDSHARE_API_URL` | Yes | Base URL of your StandShare API instance |
| `STANDSHARE_TENANT_SLUG` | Yes | Your organization's tenant slug |
| `STANDSHARE_API_TOKEN` | One of* | API token for token-based auth |
| `STANDSHARE_EMAIL` | One of* | Admin email for credential-based auth |
| `STANDSHARE_PASSWORD` | One of* | Admin password for credential-based auth |
\* Either `STANDSHARE_API_TOKEN` **or** both `STANDSHARE_EMAIL` + `STANDSHARE_PASSWORD` must be set.
---
## Authentication
Two strategies are supported:
**API Token** — Set `STANDSHARE_API_TOKEN`. The token is sent as a `Bearer` header on every request. Preferred for production and automated use.
**Email / Password** — Set `STANDSHARE_EMAIL` and `STANDSHARE_PASSWORD`. The server logs in on first use, then uses refresh tokens to maintain the session automatically.
---
## Local Development
```bash
git clone https://github.com/GraditiPro/standshare-mcp.git
cd standshare-mcp
npm install
npm run build
```
To run from a local build in Claude Desktop, replace `"npx", ["-y", "standshare-mcp"]` with:
```json
{
"command": "node",
"args": ["/absolute/path/to/standshare-mcp/build/index.js"]
}
```
---
## License
MIT
TDQS
A3.7/5.0
Scored across 8 tools
Disambiguation5/5
Each tool targets a distinct domain (events, families, finances, etc.) with clear boundaries. No overlapping purposes; agents can easily differentiate.
Naming Consistency5/5
All tool names are single, plural nouns (e.g., events, families, users) following a consistent pattern. No mixed naming conventions.
Tool Count5/5
8 tools appropriately cover the core entities and operations of the StandShare system. Not too many or too few for the domain size.
Completeness4/5
Covers most key operations (CRUD on events, families, users; finances, reports, notifications). Minor gaps: no delete operations mentioned, venues only support search/view.
Maintenance
ActivityInactive
ResponsivenessNo issues