@mcptoolgate/client 1.0.0 → 1.0.1
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 +85 -62
- package/dist/api.js +1 -1
- package/manifest.json +106 -0
- package/package.json +17 -4
- package/src/api.ts +1 -1
package/README.md
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
# MCP Tool Gate Client
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://mcptoolgate.com/icon-128.png" alt="MCP Tool Gate" width="128" height="128">
|
|
5
|
+
</p>
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>Enterprise-grade governance for AI tools</strong><br>
|
|
9
|
+
Secure, approve, and audit every MCP tool call with human-in-the-loop guardrails.
|
|
10
|
+
</p>
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://mcptoolgate.com">Website</a> •
|
|
14
|
+
<a href="https://app.mcptoolgate.com">Dashboard</a> •
|
|
15
|
+
<a href="https://mcptoolgate.com/docs">Documentation</a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
Add this to your `claude_desktop_config.json`:
|
|
8
23
|
|
|
9
24
|
```json
|
|
10
25
|
{
|
|
@@ -13,73 +28,69 @@ Lightweight MCP client for integrating MCP Tool Gate with Claude Desktop and oth
|
|
|
13
28
|
"command": "npx",
|
|
14
29
|
"args": ["-y", "@mcptoolgate/client"],
|
|
15
30
|
"env": {
|
|
16
|
-
"MCPTOOLGATE_API_KEY": "
|
|
31
|
+
"MCPTOOLGATE_API_KEY": "YOUR_API_KEY_HERE",
|
|
32
|
+
"MCPTOOLGATE_URL": "https://app.mcptoolgate.com"
|
|
17
33
|
}
|
|
18
34
|
}
|
|
19
35
|
}
|
|
20
36
|
}
|
|
21
37
|
```
|
|
22
38
|
|
|
23
|
-
###
|
|
39
|
+
### Config File Locations
|
|
24
40
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
41
|
+
| Platform | Path |
|
|
42
|
+
|----------|------|
|
|
43
|
+
| **macOS** | `~/Library/Application Support/Claude/claude_desktop_config.json` |
|
|
44
|
+
| **Windows** | `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
45
|
+
| **Linux** | `~/.config/Claude/claude_desktop_config.json` |
|
|
28
46
|
|
|
29
|
-
|
|
30
|
-
npm run build
|
|
47
|
+
## Getting Your API Key
|
|
31
48
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
49
|
+
1. Sign up at [app.mcptoolgate.com](https://app.mcptoolgate.com)
|
|
50
|
+
2. Create a workspace
|
|
51
|
+
3. Go to **Settings → API Keys**
|
|
52
|
+
4. Click **Generate New Key**
|
|
53
|
+
5. Copy the key (shown only once!)
|
|
35
54
|
|
|
36
|
-
##
|
|
37
|
-
|
|
38
|
-
The client requires two environment variables:
|
|
39
|
-
|
|
40
|
-
- **MCPTOOLGATE_API_KEY** (required): Your API key from the MCP Tool Gate dashboard
|
|
41
|
-
- **MCPTOOLGATE_URL** (optional): Backend URL (defaults to production)
|
|
42
|
-
|
|
43
|
-
## Usage with Claude Desktop
|
|
44
|
-
|
|
45
|
-
1. **Generate API Key:**
|
|
46
|
-
- Log in to your MCP Tool Gate dashboard
|
|
47
|
-
- Go to Settings → API Keys
|
|
48
|
-
- Click "Generate New Key"
|
|
49
|
-
- Copy the key (shown only once!)
|
|
50
|
-
|
|
51
|
-
2. **Configure Claude Desktop:**
|
|
52
|
-
|
|
53
|
-
Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
54
|
-
|
|
55
|
-
```json
|
|
56
|
-
{
|
|
57
|
-
"mcpServers": {
|
|
58
|
-
"mcptoolgate": {
|
|
59
|
-
"command": "npx",
|
|
60
|
-
"args": ["-y", "@mcptoolgate/client"],
|
|
61
|
-
"env": {
|
|
62
|
-
"MCPTOOLGATE_API_KEY": "mgk_your_key_here"
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
```
|
|
55
|
+
## Features
|
|
68
56
|
|
|
69
|
-
|
|
57
|
+
- 🛡️ **Policy-Based Approvals** — Define which AI actions need human approval
|
|
58
|
+
- 📋 **Complete Audit Trail** — Track every tool call for compliance
|
|
59
|
+
- 🔐 **Multi-Tenant Workspaces** — Isolate tools and policies across teams
|
|
60
|
+
- ⚡ **Dynamic Tool Discovery** — Tools from your dashboard appear instantly
|
|
61
|
+
- 📊 **Usage Metering** — Monitor and limit AI tool usage
|
|
70
62
|
|
|
71
|
-
|
|
72
|
-
- Your configured tools will appear automatically
|
|
73
|
-
- Destructive actions will require approval
|
|
74
|
-
- Check your dashboard for approval requests
|
|
63
|
+
## Supported Integrations
|
|
75
64
|
|
|
76
|
-
|
|
65
|
+
| Adapter | Capabilities |
|
|
66
|
+
|---------|-------------|
|
|
67
|
+
| **GitHub** | Search issues, create branches, open PRs, manage repos |
|
|
68
|
+
| **Jira** | Search, create, and update issues/tasks |
|
|
69
|
+
| **Slack** | Post messages, approval notifications |
|
|
70
|
+
| **HTTP/REST** | Connect any external API |
|
|
71
|
+
|
|
72
|
+
## How It Works
|
|
77
73
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
```
|
|
75
|
+
┌─────────────┐ STDIO ┌──────────────────┐ HTTPS ┌─────────────────┐
|
|
76
|
+
│ Claude │ ←─────────────→ │ @mcptoolgate/cli │ ←─────────────→ │ MCP Tool Gate │
|
|
77
|
+
│ Desktop │ │ (This Client) │ │ Backend │
|
|
78
|
+
└─────────────┘ └──────────────────┘ └─────────────────┘
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
1. Claude requests a tool (e.g., `github.create_pr`)
|
|
82
|
+
2. This client forwards the request to MCP Tool Gate
|
|
83
|
+
3. Backend checks your policies
|
|
84
|
+
4. If approval required → You get a Slack/email notification
|
|
85
|
+
5. Approve or deny from the dashboard
|
|
86
|
+
6. Result returned to Claude
|
|
87
|
+
|
|
88
|
+
## Environment Variables
|
|
89
|
+
|
|
90
|
+
| Variable | Required | Default | Description |
|
|
91
|
+
|----------|----------|---------|-------------|
|
|
92
|
+
| `MCPTOOLGATE_API_KEY` | ✅ Yes | — | Your API key from the dashboard |
|
|
93
|
+
| `MCPTOOLGATE_URL` | No | `https://app.mcptoolgate.com` | Backend URL |
|
|
83
94
|
|
|
84
95
|
## Troubleshooting
|
|
85
96
|
|
|
@@ -87,20 +98,32 @@ The client requires two environment variables:
|
|
|
87
98
|
|
|
88
99
|
1. Check your API key is correct
|
|
89
100
|
2. Verify the key isn't revoked in the dashboard
|
|
90
|
-
3. Check Claude Desktop logs:
|
|
101
|
+
3. Check Claude Desktop logs:
|
|
102
|
+
```bash
|
|
103
|
+
# macOS
|
|
104
|
+
tail -f ~/Library/Logs/Claude/mcp*.log
|
|
105
|
+
```
|
|
91
106
|
|
|
92
107
|
### Execution failing?
|
|
93
108
|
|
|
94
109
|
1. Check tool adapter configuration in dashboard
|
|
95
|
-
2. Verify credentials (
|
|
110
|
+
2. Verify credentials (GitHub tokens, Jira API keys, etc.)
|
|
96
111
|
3. Check audit logs in dashboard for error details
|
|
97
112
|
|
|
113
|
+
## Pricing
|
|
114
|
+
|
|
115
|
+
| Plan | Price | Tool Calls |
|
|
116
|
+
|------|-------|------------|
|
|
117
|
+
| **Free** | $0/mo | 1,000/month |
|
|
118
|
+
| **Pro** | $49/mo | 50,000/month |
|
|
119
|
+
| **Enterprise** | Custom | Unlimited |
|
|
120
|
+
|
|
98
121
|
## Support
|
|
99
122
|
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
- Issues: https://github.com/
|
|
123
|
+
- 🌐 Website: [mcptoolgate.com](https://mcptoolgate.com)
|
|
124
|
+
- 📧 Email: hello@frozo.ai
|
|
125
|
+
- 💬 Issues: [GitHub Issues](https://github.com/ashish-frozo/frozo-mcpguard/issues)
|
|
103
126
|
|
|
104
127
|
## License
|
|
105
128
|
|
|
106
|
-
MIT
|
|
129
|
+
MIT © [Frozo AI](https://frozo.ai)
|
package/dist/api.js
CHANGED
package/manifest.json
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mcptoolgate",
|
|
3
|
+
"display_name": "MCP Tool Gate",
|
|
4
|
+
"description": "Enterprise-grade governance for AI tools. Secure, approve, and audit every MCP tool call with human-in-the-loop guardrails.",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "Frozo AI",
|
|
8
|
+
"url": "https://frozo.ai",
|
|
9
|
+
"email": "hello@frozo.ai"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://mcptoolgate.com",
|
|
12
|
+
"documentation": "https://mcptoolgate.com/docs",
|
|
13
|
+
"repository": "https://github.com/ashish-frozo/frozo-mcpguard",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"categories": [
|
|
16
|
+
"security",
|
|
17
|
+
"governance",
|
|
18
|
+
"enterprise",
|
|
19
|
+
"tools"
|
|
20
|
+
],
|
|
21
|
+
"keywords": [
|
|
22
|
+
"mcp",
|
|
23
|
+
"governance",
|
|
24
|
+
"security",
|
|
25
|
+
"approval",
|
|
26
|
+
"audit",
|
|
27
|
+
"human-in-the-loop",
|
|
28
|
+
"enterprise",
|
|
29
|
+
"github",
|
|
30
|
+
"jira",
|
|
31
|
+
"slack"
|
|
32
|
+
],
|
|
33
|
+
"icons": {
|
|
34
|
+
"small": "https://mcptoolgate.com/icon-48.png",
|
|
35
|
+
"medium": "https://mcptoolgate.com/icon-128.png",
|
|
36
|
+
"large": "https://mcptoolgate.com/icon-256.png"
|
|
37
|
+
},
|
|
38
|
+
"transport": {
|
|
39
|
+
"type": "stdio",
|
|
40
|
+
"command": "npx",
|
|
41
|
+
"args": [
|
|
42
|
+
"-y",
|
|
43
|
+
"@mcptoolgate/client"
|
|
44
|
+
],
|
|
45
|
+
"env": {
|
|
46
|
+
"MCPTOOLGATE_API_KEY": {
|
|
47
|
+
"description": "Your MCP Tool Gate API Key",
|
|
48
|
+
"required": true,
|
|
49
|
+
"secret": true
|
|
50
|
+
},
|
|
51
|
+
"MCPTOOLGATE_URL": {
|
|
52
|
+
"description": "MCP Tool Gate API URL",
|
|
53
|
+
"required": false,
|
|
54
|
+
"default": "https://app.mcptoolgate.com"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"capabilities": {
|
|
59
|
+
"tools": true,
|
|
60
|
+
"resources": false,
|
|
61
|
+
"prompts": false
|
|
62
|
+
},
|
|
63
|
+
"tools": [
|
|
64
|
+
{
|
|
65
|
+
"name": "Dynamic Tool Registry",
|
|
66
|
+
"description": "Tools are dynamically fetched from your MCP Tool Gate workspace. Configure GitHub, Jira, Slack, and custom HTTP tools via the dashboard."
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"features": [
|
|
70
|
+
{
|
|
71
|
+
"name": "Policy-Based Approvals",
|
|
72
|
+
"description": "Define which AI actions execute automatically vs. require human approval"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "Complete Audit Trail",
|
|
76
|
+
"description": "Track every AI tool call with exportable compliance logs"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "Multi-Tenant Workspaces",
|
|
80
|
+
"description": "Isolate tools, policies, and usage across teams"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "Usage Metering",
|
|
84
|
+
"description": "Monitor and limit AI tool usage per workspace"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"requirements": {
|
|
88
|
+
"node": ">=18.0.0"
|
|
89
|
+
},
|
|
90
|
+
"pricing": {
|
|
91
|
+
"type": "freemium",
|
|
92
|
+
"free_tier": "1,000 tool calls/month",
|
|
93
|
+
"paid_tiers": [
|
|
94
|
+
{
|
|
95
|
+
"name": "Pro",
|
|
96
|
+
"price": "$49/month",
|
|
97
|
+
"features": "50,000 tool calls, Slack approvals, 30-day audit logs"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "Enterprise",
|
|
101
|
+
"price": "Custom",
|
|
102
|
+
"features": "Unlimited calls, SSO, priority support"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcptoolgate/client",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "MCP Tool Gate client for Claude Desktop - secure MCP tool governance",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "MCP Tool Gate client for Claude Desktop - secure MCP tool governance with human-in-the-loop approvals",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -17,10 +17,23 @@
|
|
|
17
17
|
"claude",
|
|
18
18
|
"security",
|
|
19
19
|
"governance",
|
|
20
|
-
"approval"
|
|
20
|
+
"approval",
|
|
21
|
+
"ai",
|
|
22
|
+
"tools",
|
|
23
|
+
"human-in-the-loop",
|
|
24
|
+
"enterprise"
|
|
21
25
|
],
|
|
22
|
-
"author": "
|
|
26
|
+
"author": "Frozo AI <hello@frozo.ai>",
|
|
23
27
|
"license": "MIT",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "https://github.com/ashish-frozo/frozo-mcpguard.git",
|
|
31
|
+
"directory": "client"
|
|
32
|
+
},
|
|
33
|
+
"homepage": "https://mcptoolgate.com",
|
|
34
|
+
"bugs": {
|
|
35
|
+
"url": "https://github.com/ashish-frozo/frozo-mcpguard/issues"
|
|
36
|
+
},
|
|
24
37
|
"dependencies": {
|
|
25
38
|
"@modelcontextprotocol/sdk": "^0.5.0",
|
|
26
39
|
"axios": "^1.6.0"
|
package/src/api.ts
CHANGED