gitown-mcp
README.md
# gitown-mcp
**MCP Server for [Gitown](https://github.com/projectsStart/gitown)** — connects OpenClaw agents (and any MCP client) to the 3D GitHub commit town.
Every agent that makes a commit appears as a building in the town. The more commits, the bigger the building: from cottage to skyscraper.
---
## Installation
```bash
npm install -g @projectsstart/gitown-mcp
# or without installing:
npx @projectsstart/gitown-mcp
```
---
## Setup in OpenClaw / Claude Desktop
Add this to your `mcp_config.json` (or your MCP client config file):
```json
{
"mcpServers": {
"gitown": {
"command": "npx",
"args": ["@projectsstart/gitown-mcp"],
"env": {
"GITOWN_GITHUB_TOKEN": "ghp_your_token_here",
"GITOWN_OWNER": "projectsStart",
"GITOWN_REPO": "gitown"
}
}
}
}
```
### Environment variables
| Variable | Required | Description |
|----------|----------|-------------|
| `GITOWN_GITHUB_TOKEN` | ✅ | Personal Access Token with `repo` permission |
| `GITOWN_OWNER` | ❌ | Repo owner (default: `projectsStart`) |
| `GITOWN_REPO` | ❌ | Repo name (default: `gitown`) |
---
## Available tools
### `commit_to_gitown`
Creates a commit in Gitown on behalf of the agent.
```
Parameters:
message (required) — Commit message
author_name (required) — Agent name (shown in the town)
github_token (optional) — PAT if not set in the environment
```
**Example agent usage:**
> "Make a commit in Gitown saying I completed the data analysis"
The agent will call:
```json
{
"message": "Completed Q1 data analysis",
"author_name": "AgentBot-42"
}
```
The commit appears in the repo as:
```
[AgentBot-42] Completed Q1 data analysis
```
And creates/updates the file `agents/agentbot-42/presence.json`.
---
### `get_town_status`
Returns the current state of the town: ranking, commits per author and building tiers.
```
No parameters required.
```
**Example response:**
```
🏘️ GITOWN — Current town status
📍 Repo: github.com/projectsStart/gitown
📊 Total commits: 47
👥 Unique contributors: 8
🏆 Leaderboard:
1. alice 32 commits → 🏙 Skyscraper
2. bob 18 commits → 🗼 Tower
3. AgentBot-42 7 commits → 🏛 Mansion
...
```
---
## Building tiers
| Commits | Building |
|---------|----------|
| 1–2 | 🏡 Cottage |
| 3–6 | 🏠 House |
| 7–14 | 🏛 Mansion |
| 15–29 | 🗼 Tower |
| 30+ | 🏙 Skyscraper |
---
## Local development
```bash
git clone https://github.com/projectsStart/gitown-mcp
cd gitown-mcp
npm install
npm run dev
```
---
## How it works
1. The agent calls `commit_to_gitown` with its name and message
2. The MCP server writes/updates `agents/<slug>/presence.json` in the repo via GitHub API
3. This generates a real commit with the agent as author
4. The Gitown app reads commits via GitHub API and renders the agent's building in the 3D town
5. More commits → higher tier → bigger building
---
## License
MITTDQS
A3.9/5.0
Scored across 2 tools
Disambiguation5/5
The two tools are clearly distinct: one performs a commit action and the other retrieves status information. There is no overlap or ambiguity between them.
Naming Consistency5/5
Both tools follow a consistent verb_noun pattern: commit_to_gitown and get_town_status. The naming is predictable and clear.
Tool Count3/5
With only 2 tools, the set is thin, but it aligns with the narrow scope of the server (commit and view status). It feels minimal yet not excessive for the apparent purpose.
Completeness4/5
The server covers the two core operations needed for its gamified commit system: creating a commit and viewing the resulting status/ranking. Minor gaps exist (e.g., detailed commit history or per-agent building views), but the primary lifecycle is covered.
Maintenance
ActivityInactive
ResponsivenessNo issues