@striderlabs/mcp-zipcar 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +136 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +585 -0
- package/dist/index.js.map +1 -0
- package/package.json +26 -0
- package/src/index.ts +745 -0
- package/striderlabs-mcp-zipcar-1.0.0.tgz +0 -0
- package/tsconfig.json +19 -0
package/README.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# @striderlabs/mcp-zipcar
|
|
2
|
+
|
|
3
|
+
A Model Context Protocol (MCP) server for automating Zipcar car sharing tasks via stealth browser automation using [patchright](https://github.com/Kaliiiiiiiiii-Vinyzu/patchright).
|
|
4
|
+
|
|
5
|
+
## Tools
|
|
6
|
+
|
|
7
|
+
| Tool | Description |
|
|
8
|
+
|------|-------------|
|
|
9
|
+
| `search_cars` | Find available Zipcars near a location for a given time period |
|
|
10
|
+
| `get_car_details` | Get vehicle info: type, features, seating, fuel, hourly/daily rates |
|
|
11
|
+
| `reserve_car` | Book a Zipcar for a specific time slot (requires login) |
|
|
12
|
+
| `extend_reservation` | Add time to an existing reservation |
|
|
13
|
+
| `end_trip` | End an active rental session and get a trip summary |
|
|
14
|
+
| `get_reservation_history` | View past and upcoming reservations |
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install
|
|
20
|
+
npm run build
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
### With Claude Desktop
|
|
26
|
+
|
|
27
|
+
Add to your `claude_desktop_config.json`:
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"mcpServers": {
|
|
32
|
+
"zipcar": {
|
|
33
|
+
"command": "npx",
|
|
34
|
+
"args": ["-y", "@striderlabs/mcp-zipcar"]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Or if installed globally:
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"mcpServers": {
|
|
45
|
+
"zipcar": {
|
|
46
|
+
"command": "striderlabs-mcp-zipcar"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### With Claude Code
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
claude mcp add zipcar -- npx -y @striderlabs/mcp-zipcar
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Authentication
|
|
59
|
+
|
|
60
|
+
Tools that require authentication (`reserve_car`, `extend_reservation`, `end_trip`, `get_reservation_history`) require you to be logged in to Zipcar in a browser session. The server shares a persistent browser context across requests within the same session.
|
|
61
|
+
|
|
62
|
+
If not logged in, you will receive an `auth_required` response with instructions to log in manually.
|
|
63
|
+
|
|
64
|
+
## Tool Examples
|
|
65
|
+
|
|
66
|
+
### Search for cars
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"tool": "search_cars",
|
|
71
|
+
"arguments": {
|
|
72
|
+
"location": "Brooklyn, NY",
|
|
73
|
+
"start_time": "2025-08-15T09:00:00",
|
|
74
|
+
"end_time": "2025-08-15T13:00:00"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Reserve a car
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"tool": "reserve_car",
|
|
84
|
+
"arguments": {
|
|
85
|
+
"car_id": "car-12345",
|
|
86
|
+
"start_time": "2025-08-15T09:00:00",
|
|
87
|
+
"end_time": "2025-08-15T13:00:00",
|
|
88
|
+
"plan": "hourly"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Get reservation history
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"tool": "get_reservation_history",
|
|
98
|
+
"arguments": {
|
|
99
|
+
"filter": "upcoming",
|
|
100
|
+
"limit": 10
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Extend a reservation
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"tool": "extend_reservation",
|
|
110
|
+
"arguments": {
|
|
111
|
+
"reservation_id": "res-98765",
|
|
112
|
+
"new_end_time": "2025-08-15T15:00:00"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### End a trip
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"tool": "end_trip",
|
|
122
|
+
"arguments": {
|
|
123
|
+
"reservation_id": "res-98765"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Notes
|
|
129
|
+
|
|
130
|
+
- Browser automation targets zipcar.com and may break if Zipcar updates their website structure.
|
|
131
|
+
- Patchright is used for stealth browser automation to avoid bot detection.
|
|
132
|
+
- A headless Chromium instance is launched on first tool call and reused for the session.
|
|
133
|
+
|
|
134
|
+
## License
|
|
135
|
+
|
|
136
|
+
MIT — Strider Labs <hello@striderlabs.ai>
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|