Skip to content

Commit 1ca6694

Browse files
committed
docs: update README with additional customization options and clarify features
1 parent 1853533 commit 1ca6694

File tree

1 file changed

+36
-8
lines changed

1 file changed

+36
-8
lines changed

README.md

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
A Model Context Protocol (MCP) server for car customization and racing. Build and customize your dream ride with natural language through ChatGPT or Claude!
44

5+
<div align="center">
6+
<img src="https://commons.wikimedia.org/wiki/Special:FilePath/Gumball_3000_-_2007_(483318373).jpg" alt="Xzibit at Gumball 3000 - 2007" width="600">
7+
<p><em>Photo: <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA 2.0</a>, via Wikimedia Commons</em></p>
8+
</div>
9+
10+
> **Note:** This project is an homage to the MTV show _Pimp My Ride_ hosted by Xzibit. Not affiliated with or endorsed by MTV.
11+
512
## Features
613

714
- 🎨 **Car Customization** - Colors, wheels, body kits, spoilers, exhausts, decals, and underglow
@@ -24,6 +31,7 @@ For production deployments, **secure this server behind [Pomerium](https://www.p
2431
- 🌐 **Secure Gateway** - Expose internal MCP servers safely to AI agents
2532

2633
Pomerium enables you to define policies like:
34+
2735
- Which users can access which tools
2836
- Rate limiting per user or group
2937
- Audit logging of all tool calls
@@ -93,10 +101,13 @@ npm start
93101
### Car Customization
94102

95103
#### `getCurrentBuild`
104+
96105
Retrieve or create your active car build with all customizations.
97106

98107
#### `updateCarConfig`
108+
99109
Update car attributes:
110+
100111
- **color** - Primary color (red, blue, green, yellow, orange, purple, pink, black, white, silver, gold, cyan, magenta, lime)
101112
- **secondaryColor** - Secondary/accent color
102113
- **wheels** - Wheel type (stock, sport, racing, offroad, chrome, neon, spinner)
@@ -108,38 +119,48 @@ Update car attributes:
108119
- **performance** - Performance stats (power, grip, aero, weight: 0-100)
109120

110121
#### `updateDriverProfile`
122+
111123
Set driver persona and nickname:
124+
112125
- **persona** - Driver personality: CoolCalmCollected, RoadRage, SpeedDemon, Cautious, ShowOff, Tactical, Wildcard
113126
- **nickname** - Driver nickname (1-50 characters)
114127

115128
#### `getCustomizationOptions`
129+
116130
Get all available customization options for car parts and driver personas.
117131

118132
#### `getPersonaInfo`
133+
119134
Get detailed information about driver personas including racing style, strengths, and weaknesses.
120135

121136
### Build Management
122137

123138
#### `saveBuild`
139+
124140
Save the current car build under a specific name.
125141

126142
#### `loadBuild`
143+
127144
Load a saved car build and make it active.
128145

129146
#### `listBuilds`
147+
130148
List all saved car builds with pagination support.
131149

132150
#### `deleteBuild`
151+
133152
Delete a saved car build (cannot delete active build).
134153

135154
#### `getBuildDetails`
155+
136156
Get detailed information about a build including calculated performance score.
137157

138158
## Architecture
139159

140160
### Storage Layer
141161

142162
The KV storage abstraction provides:
163+
143164
- **Namespaces** - Logical data isolation
144165
- **TTL Expiration** - Automatic cleanup of expired entries
145166
- **CAS Versioning** - Compare-and-Set for concurrent updates
@@ -150,6 +171,7 @@ Default implementation uses SQLite with WAL mode for better concurrency.
150171
### Authentication
151172

152173
Pomerium authentication resolves user identity from HTTP headers:
174+
153175
- `X-Pomerium-Claim-Sub` - User ID
154176
- `X-Pomerium-Claim-Email` - Email address
155177
- `X-Pomerium-Claim-Name` - Display name
@@ -160,6 +182,7 @@ In development mode without Pomerium, the server generates anonymous session-bas
160182
### Data Model
161183

162184
**Build Structure:**
185+
163186
```typescript
164187
{
165188
id: string,
@@ -180,22 +203,24 @@ In development mode without Pomerium, the server generates anonymous session-bas
180203
## API Endpoints
181204
182205
### MCP Protocol
206+
183207
- `POST /mcp` - MCP tool calls
184208
- `GET /mcp` - Server info
185209
186210
### Health Check
211+
187212
- `GET /health` - Storage health status
188213
189214
## Environment Variables
190215
191-
| Variable | Description | Default |
192-
|----------|-------------|---------|
193-
| `PORT` | Server port | `3000` |
194-
| `NODE_ENV` | Environment (development/production/test) | `development` |
195-
| `LOG_LEVEL` | Logging level (error/warn/info/debug) | `info` |
196-
| `STORAGE_BACKEND` | Storage type (sqlite/redis/postgres/dynamodb) | `sqlite` |
197-
| `SQLITE_DB_PATH` | SQLite database file path | `./data/pimp-my-ride.db` |
198-
| `SQLITE_VERBOSE` | Enable SQL query logging | `false` |
216+
| Variable | Description | Default |
217+
| ----------------- | --------------------------------------------- | ------------------------ |
218+
| `PORT` | Server port | `3000` |
219+
| `NODE_ENV` | Environment (development/production/test) | `development` |
220+
| `LOG_LEVEL` | Logging level (error/warn/info/debug) | `info` |
221+
| `STORAGE_BACKEND` | Storage type (sqlite/redis/postgres/dynamodb) | `sqlite` |
222+
| `SQLITE_DB_PATH` | SQLite database file path | `./data/pimp-my-ride.db` |
223+
| `SQLITE_VERBOSE` | Enable SQL query logging | `false` |
199224
200225
## Development
201226
@@ -273,6 +298,7 @@ routes:
273298
```
274299

275300
See [Pomerium MCP docs](https://www.pomerium.com/docs/capabilities/mcp) for advanced configuration including:
301+
276302
- Tool-level authorization
277303
- User/group-based access control
278304
- Rate limiting
@@ -281,11 +307,13 @@ See [Pomerium MCP docs](https://www.pomerium.com/docs/capabilities/mcp) for adva
281307
## Roadmap
282308

283309
### Phase 2 - AI Assistance
310+
284311
- [ ] `randomizeBuild` - Generate random themed builds
285312
- [ ] `suggestUpgrades` - AI-powered upgrade recommendations
286313
- [ ] `generateLivery` - Color scheme suggestions
287314

288315
### Phase 3 - Racing
316+
289317
- [ ] `simulateRace` - Race simulation
290318
- [ ] `getLeaderboard` - Global rankings
291319
- [ ] Race results persistence

0 commit comments

Comments
 (0)