@apiverve/mcp-server 1.0.0 → 1.1.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/LICENSE +1 -1
- package/README.md +63 -59
- package/bin/install.js +149 -0
- package/package.json +11 -6
- package/pyproject.toml +0 -29
- package/setup.py +0 -31
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -4,24 +4,24 @@
|
|
|
4
4
|
|
|
5
5
|
<img src="https://apiverve.com/images/favicon.png" alt="APIVerve Logo" width="80" />
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**356+ APIs accessible through the Model Context Protocol**
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@apiverve/mcp-server)
|
|
10
10
|
[](https://pypi.org/project/apiverve-mcp/)
|
|
11
11
|
[](https://opensource.org/licenses/MIT)
|
|
12
12
|
[](https://modelcontextprotocol.io)
|
|
13
13
|
|
|
14
|
-
[Website](https://apiverve.com) • [Documentation](https://docs.apiverve.com) • [API Explorer](https://apiverve.com/marketplace) • [Report Bug](https://github.com/apiverve/mcp/issues)
|
|
14
|
+
[Website](https://apiverve.com) • [Documentation](https://docs.apiverve.com) • [API Explorer](https://apiverve.com/marketplace) • [Report Bug](https://github.com/apiverve/mcp-server/issues)
|
|
15
15
|
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
## 🚀 Overview
|
|
19
19
|
|
|
20
|
-
The **APIVerve MCP Server** provides seamless access to
|
|
20
|
+
The **APIVerve MCP Server** provides seamless access to 356+ production-ready APIs through the [Model Context Protocol](https://modelcontextprotocol.io). Connect AI assistants like Claude, ChatGPT, and other MCP-compatible clients to a vast ecosystem of data and functionality.
|
|
21
21
|
|
|
22
22
|
### ✨ Features
|
|
23
23
|
|
|
24
|
-
- 🎯 **
|
|
24
|
+
- 🎯 **356+ APIs** - Weather, news, geocoding, validation, conversion, and more
|
|
25
25
|
- 🔐 **OAuth 2.0 Authentication** - Secure, industry-standard authentication
|
|
26
26
|
- 📊 **Token-Based Pricing** - Pay only for what you use
|
|
27
27
|
- 🚀 **High Performance** - Cloud-hosted with 99%+ uptime
|
|
@@ -30,77 +30,80 @@ The **APIVerve MCP Server** provides seamless access to 249+ production-ready AP
|
|
|
30
30
|
|
|
31
31
|
## 📦 Installation
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
APIVerve is a **remote** MCP server — there is nothing to run locally. Point your client at the URL below and it will handle sign-in for you.
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
### Quick setup
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
```bash
|
|
38
|
+
npx @apiverve/mcp-server
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Configures VS Code and Cursor, and prints the manual step for Claude Desktop. Target one client with `npx @apiverve/mcp-server cursor`.
|
|
42
|
+
|
|
43
|
+
For headless setups, pass a key instead of using sign-in:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx @apiverve/mcp-server --api-key YOUR_API_KEY
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Python users can do the same with `pip install apiverve-mcp` then `apiverve-mcp` (or `apiverve-mcp --api-key YOUR_API_KEY`).
|
|
50
|
+
|
|
51
|
+
### Manual setup
|
|
52
|
+
|
|
53
|
+
**Claude Desktop** — remote servers are added through the app, not a config file:
|
|
54
|
+
|
|
55
|
+
> Settings → Connectors → Add custom connector → `https://api.apiverve.com/v1/mcp`
|
|
56
|
+
|
|
57
|
+
**VS Code** (`mcp.json`):
|
|
38
58
|
```json
|
|
39
59
|
{
|
|
40
|
-
"
|
|
60
|
+
"servers": {
|
|
41
61
|
"apiverve": {
|
|
42
|
-
"type": "
|
|
62
|
+
"type": "http",
|
|
43
63
|
"url": "https://api.apiverve.com/v1/mcp"
|
|
44
64
|
}
|
|
45
65
|
}
|
|
46
66
|
}
|
|
47
67
|
```
|
|
48
68
|
|
|
49
|
-
**
|
|
69
|
+
**Cursor** (`~/.cursor/mcp.json`):
|
|
50
70
|
```json
|
|
51
71
|
{
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"type": "sse",
|
|
56
|
-
"url": "https://api.apiverve.com/v1/mcp",
|
|
57
|
-
"headers": {}
|
|
72
|
+
"mcpServers": {
|
|
73
|
+
"apiverve": {
|
|
74
|
+
"url": "https://api.apiverve.com/v1/mcp"
|
|
58
75
|
}
|
|
59
76
|
}
|
|
60
77
|
}
|
|
61
78
|
```
|
|
62
79
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
npm install -g @apiverve/mcp-server
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Then run:
|
|
70
|
-
```bash
|
|
71
|
-
apiverve-mcp install
|
|
72
|
-
```
|
|
80
|
+
## 🔑 Authentication
|
|
73
81
|
|
|
74
|
-
|
|
82
|
+
Two ways in — pick whichever fits:
|
|
75
83
|
|
|
76
|
-
|
|
84
|
+
**OAuth (default, recommended)** — leave the config as shown above. On first use the server returns an authorization challenge and your client walks you through sign-in. No key is stored on disk, and access can be revoked from the dashboard.
|
|
77
85
|
|
|
78
|
-
|
|
79
|
-
pip install apiverve-mcp
|
|
80
|
-
```
|
|
86
|
+
**API key** — add your key as a header. Useful for CI and headless environments where no browser is available:
|
|
81
87
|
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"mcpServers": {
|
|
91
|
+
"apiverve": {
|
|
92
|
+
"url": "https://api.apiverve.com/v1/mcp",
|
|
93
|
+
"headers": { "x-api-key": "YOUR_API_KEY" }
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
87
97
|
```
|
|
88
98
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
APIVerve uses OAuth 2.0 for secure authentication:
|
|
92
|
-
|
|
93
|
-
1. **Sign up** at [https://apiverve.com](https://apiverve.com)
|
|
94
|
-
2. **Get your API key** from the dashboard
|
|
95
|
-
3. **Authorize** when prompted by your MCP client
|
|
96
|
-
4. **Start using** 249+ APIs immediately
|
|
99
|
+
Claude Desktop's Custom Connectors cannot send custom headers, so it is OAuth-only.
|
|
97
100
|
|
|
98
|
-
**Free tier available**
|
|
101
|
+
Get a key at [https://apiverve.com](https://apiverve.com). **Free tier available** — no credit card required to start!
|
|
99
102
|
|
|
100
103
|
## 🎯 Available APIs
|
|
101
104
|
|
|
102
105
|
<details>
|
|
103
|
-
<summary><b>Click to see all
|
|
106
|
+
<summary><b>Click to see all 356+ available APIs</b></summary>
|
|
104
107
|
|
|
105
108
|
### 🌤️ Weather & Environment
|
|
106
109
|
- Weather Forecast
|
|
@@ -168,16 +171,17 @@ Claude: [Uses Currency Converter API]
|
|
|
168
171
|
|
|
169
172
|
### Programmatic Usage (Python)
|
|
170
173
|
|
|
174
|
+
Connect straight to the remote server — no local process involved:
|
|
175
|
+
|
|
171
176
|
```python
|
|
172
|
-
from mcp import ClientSession
|
|
173
|
-
from mcp.client.
|
|
177
|
+
from mcp import ClientSession
|
|
178
|
+
from mcp.client.streamable_http import streamablehttp_client
|
|
179
|
+
|
|
180
|
+
url = "https://api.apiverve.com/v1/mcp"
|
|
181
|
+
headers = {"x-api-key": "YOUR_API_KEY"}
|
|
174
182
|
|
|
175
|
-
async with
|
|
176
|
-
command="apiverve-mcp",
|
|
177
|
-
args=[]
|
|
178
|
-
)) as (read, write):
|
|
183
|
+
async with streamablehttp_client(url, headers=headers) as (read, write, _):
|
|
179
184
|
async with ClientSession(read, write) as session:
|
|
180
|
-
# Initialize
|
|
181
185
|
await session.initialize()
|
|
182
186
|
|
|
183
187
|
# List available tools
|
|
@@ -199,17 +203,17 @@ APIVerve uses a flexible token-based pricing model with multiple tiers to fit yo
|
|
|
199
203
|
|
|
200
204
|
**[View Pricing Plans →](https://apiverve.com/pricing)**
|
|
201
205
|
|
|
202
|
-
|
|
206
|
+
Credit costs vary by API complexity - simple APIs start at 1 credit per call.
|
|
203
207
|
|
|
204
208
|
## 🛠️ Technical Details
|
|
205
209
|
|
|
206
210
|
### Server Information
|
|
207
211
|
|
|
208
|
-
- **
|
|
209
|
-
- **Protocol**: MCP 2024-11-05
|
|
210
|
-
- **Authentication**: OAuth 2.0 with PKCE
|
|
212
|
+
- **Transport**: Streamable HTTP
|
|
213
|
+
- **Protocol**: MCP 2025-06-18 (negotiates down to 2025-03-26 and 2024-11-05)
|
|
214
|
+
- **Authentication**: OAuth 2.0 with PKCE, or `x-api-key` header
|
|
211
215
|
- **Base URL**: `https://api.apiverve.com/v1/mcp`
|
|
212
|
-
- **API Version**: 1.
|
|
216
|
+
- **API Version**: 1.1.0
|
|
213
217
|
|
|
214
218
|
### OAuth Endpoints
|
|
215
219
|
|
|
@@ -250,7 +254,7 @@ If you hit token limits:
|
|
|
250
254
|
|
|
251
255
|
## 🤝 Support
|
|
252
256
|
|
|
253
|
-
- **GitHub Issues**: [apiverve/mcp/issues](https://github.com/apiverve/mcp/issues)
|
|
257
|
+
- **GitHub Issues**: [apiverve/mcp-server/issues](https://github.com/apiverve/mcp-server/issues)
|
|
254
258
|
- **Email**: hello@apiverve.com
|
|
255
259
|
- **Discord**: [Join our community](https://apiverve.com/discord)
|
|
256
260
|
|
package/bin/install.js
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const os = require('os');
|
|
6
|
+
|
|
7
|
+
const SERVER_URL = 'https://api.apiverve.com/v1/mcp';
|
|
8
|
+
const TARGETS = ['claude', 'vscode', 'cursor', 'all'];
|
|
9
|
+
|
|
10
|
+
// Auth is negotiated, not configured: with no headers the server answers 401 with a
|
|
11
|
+
// WWW-Authenticate challenge and the client runs OAuth. --api-key skips that for
|
|
12
|
+
// headless setups by sending the key directly instead.
|
|
13
|
+
function parseArgs(argv) {
|
|
14
|
+
const args = { target: 'all', apiKey: null };
|
|
15
|
+
for (let i = 0; i < argv.length; i++) {
|
|
16
|
+
if (argv[i] === '--api-key') {
|
|
17
|
+
args.apiKey = argv[++i] || null;
|
|
18
|
+
} else if (argv[i].startsWith('--api-key=')) {
|
|
19
|
+
args.apiKey = argv[i].slice('--api-key='.length);
|
|
20
|
+
} else if (!argv[i].startsWith('-')) {
|
|
21
|
+
args.target = argv[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return args;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function userConfigDir(appName) {
|
|
28
|
+
const platform = os.platform();
|
|
29
|
+
if (platform === 'darwin') return path.join(os.homedir(), 'Library', 'Application Support', appName);
|
|
30
|
+
if (platform === 'win32') return path.join(process.env.APPDATA, appName);
|
|
31
|
+
return path.join(os.homedir(), '.config', appName);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// VS Code moved MCP config out of settings.json into its own mcp.json.
|
|
35
|
+
function getVSCodeConfigPath() {
|
|
36
|
+
return path.join(userConfigDir('Code'), 'User', 'mcp.json');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Cursor reads ~/.cursor/mcp.json, not the app support dir.
|
|
40
|
+
function getCursorConfigPath() {
|
|
41
|
+
return path.join(os.homedir(), '.cursor', 'mcp.json');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function readJson(filePath) {
|
|
45
|
+
if (!fs.existsSync(filePath)) return {};
|
|
46
|
+
try {
|
|
47
|
+
return JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
48
|
+
} catch (err) {
|
|
49
|
+
throw new Error(`${filePath} exists but is not valid JSON. Fix or remove it, then re-run.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function writeJson(filePath, data) {
|
|
54
|
+
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
55
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf8');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function authHeaders(apiKey) {
|
|
59
|
+
return apiKey ? { headers: { 'x-api-key': apiKey } } : {};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Remote servers cannot be added through claude_desktop_config.json — that file is
|
|
63
|
+
// stdio-only. Custom Connectors is the supported path and it is UI-driven, so the most
|
|
64
|
+
// honest thing the installer can do is say so rather than write config Claude ignores.
|
|
65
|
+
function installToClaudeDesktop() {
|
|
66
|
+
console.log('○ Claude Desktop — manual step required');
|
|
67
|
+
console.log(' Claude Desktop only accepts remote MCP servers through Custom Connectors,');
|
|
68
|
+
console.log(' which cannot be configured from a file. Add it in the app:');
|
|
69
|
+
console.log('');
|
|
70
|
+
console.log(' Settings → Connectors → Add custom connector');
|
|
71
|
+
console.log(` URL: ${SERVER_URL}`);
|
|
72
|
+
console.log('');
|
|
73
|
+
console.log(' Claude will prompt you to sign in on first use.');
|
|
74
|
+
console.log('');
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function installToVSCode(apiKey) {
|
|
79
|
+
const configPath = getVSCodeConfigPath();
|
|
80
|
+
const config = readJson(configPath);
|
|
81
|
+
|
|
82
|
+
if (!config.servers) config.servers = {};
|
|
83
|
+
config.servers.apiverve = { type: 'http', url: SERVER_URL, ...authHeaders(apiKey) };
|
|
84
|
+
|
|
85
|
+
writeJson(configPath, config);
|
|
86
|
+
console.log(`✅ VS Code configured — ${configPath}`);
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function installToCursor(apiKey) {
|
|
91
|
+
const configPath = getCursorConfigPath();
|
|
92
|
+
const config = readJson(configPath);
|
|
93
|
+
|
|
94
|
+
// Cursor infers the transport from the presence of url; type is for stdio servers only.
|
|
95
|
+
if (!config.mcpServers) config.mcpServers = {};
|
|
96
|
+
config.mcpServers.apiverve = { url: SERVER_URL, ...authHeaders(apiKey) };
|
|
97
|
+
|
|
98
|
+
writeJson(configPath, config);
|
|
99
|
+
console.log(`✅ Cursor configured — ${configPath}`);
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function printManualConfig() {
|
|
104
|
+
console.error('\n💡 Configure manually instead:');
|
|
105
|
+
console.error('');
|
|
106
|
+
console.error(' VS Code — mcp.json');
|
|
107
|
+
console.error(` { "servers": { "apiverve": { "type": "http", "url": "${SERVER_URL}" } } }`);
|
|
108
|
+
console.error('');
|
|
109
|
+
console.error(' Cursor — ~/.cursor/mcp.json');
|
|
110
|
+
console.error(` { "mcpServers": { "apiverve": { "url": "${SERVER_URL}" } } }`);
|
|
111
|
+
console.error('');
|
|
112
|
+
console.error(' Claude Desktop — Settings → Connectors → Add custom connector');
|
|
113
|
+
console.error(` ${SERVER_URL}`);
|
|
114
|
+
console.error('');
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function main() {
|
|
118
|
+
console.log('\n🔌 APIVerve MCP Server Installer\n');
|
|
119
|
+
|
|
120
|
+
const { target, apiKey } = parseArgs(process.argv.slice(2));
|
|
121
|
+
|
|
122
|
+
// An unrecognised target used to match no branch and exit 0 having done nothing.
|
|
123
|
+
if (!TARGETS.includes(target)) {
|
|
124
|
+
console.error(`Unknown target "${target}".`);
|
|
125
|
+
console.error(`Usage: apiverve-mcp [${TARGETS.join('|')}] [--api-key KEY]\n`);
|
|
126
|
+
process.exit(1);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (apiKey) {
|
|
130
|
+
console.log('Using API key auth — the key will be written into the config file.\n');
|
|
131
|
+
} else {
|
|
132
|
+
console.log('Using OAuth — no key is stored; your client will prompt you to sign in.\n');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
try {
|
|
136
|
+
if (target === 'claude' || target === 'all') installToClaudeDesktop();
|
|
137
|
+
if (target === 'vscode' || target === 'all') installToVSCode(apiKey);
|
|
138
|
+
if (target === 'cursor' || target === 'all') installToCursor(apiKey);
|
|
139
|
+
|
|
140
|
+
console.log('\n✨ Done. Restart your MCP client to pick up the change.');
|
|
141
|
+
console.log(' Manage access and API keys at https://apiverve.com\n');
|
|
142
|
+
} catch (error) {
|
|
143
|
+
console.error('\n❌ Installation failed:', error.message);
|
|
144
|
+
printManualConfig();
|
|
145
|
+
process.exit(1);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
main();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apiverve/mcp-server",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "APIVerve MCP Server - Access
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "APIVerve MCP Server - Access 356+ APIs through the Model Context Protocol",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"apiverve-mcp": "./bin/install.js"
|
|
@@ -22,15 +22,20 @@
|
|
|
22
22
|
"homepage": "https://apiverve.com",
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
25
|
-
"url": "https://github.com/apiverve/mcp.git"
|
|
25
|
+
"url": "https://github.com/apiverve/mcp-server.git"
|
|
26
26
|
},
|
|
27
27
|
"bugs": {
|
|
28
|
-
"url": "https://github.com/apiverve/mcp/issues"
|
|
28
|
+
"url": "https://github.com/apiverve/mcp-server/issues"
|
|
29
29
|
},
|
|
30
30
|
"mcpServers": {
|
|
31
31
|
"apiverve": {
|
|
32
|
-
"
|
|
33
|
-
"
|
|
32
|
+
"command": "node",
|
|
33
|
+
"args": [
|
|
34
|
+
"./index.js"
|
|
35
|
+
],
|
|
36
|
+
"env": {
|
|
37
|
+
"APIVERVE_API_KEY": ""
|
|
38
|
+
}
|
|
34
39
|
}
|
|
35
40
|
}
|
|
36
41
|
}
|
package/pyproject.toml
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["setuptools>=45", "wheel"]
|
|
3
|
-
build-backend = "setuptools.build_meta"
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
name = "apiverve-mcp"
|
|
7
|
-
version = "1.0.0"
|
|
8
|
-
description = "APIVerve MCP Server - Access 249+ APIs through the Model Context Protocol"
|
|
9
|
-
readme = "README.md"
|
|
10
|
-
authors = [{name = "APIVerve", email = "hello@apiverve.com"}]
|
|
11
|
-
license = {text = "MIT"}
|
|
12
|
-
classifiers = [
|
|
13
|
-
"Development Status :: 5 - Production/Stable",
|
|
14
|
-
"Intended Audience :: Developers",
|
|
15
|
-
"License :: OSI Approved :: MIT License",
|
|
16
|
-
"Programming Language :: Python :: 3",
|
|
17
|
-
"Programming Language :: Python :: 3.8",
|
|
18
|
-
"Programming Language :: Python :: 3.9",
|
|
19
|
-
"Programming Language :: Python :: 3.10",
|
|
20
|
-
"Programming Language :: Python :: 3.11",
|
|
21
|
-
]
|
|
22
|
-
keywords = ["mcp", "mcp-server", "model-context-protocol", "apiverve", "api", "claude", "chatgpt", "ai", "llm"]
|
|
23
|
-
requires-python = ">=3.8"
|
|
24
|
-
|
|
25
|
-
[project.urls]
|
|
26
|
-
Homepage = "https://apiverve.com"
|
|
27
|
-
Documentation = "https://docs.apiverve.com"
|
|
28
|
-
Repository = "https://github.com/apiverve/mcp"
|
|
29
|
-
Issues = "https://github.com/apiverve/mcp/issues"
|
package/setup.py
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
from setuptools import setup, find_packages
|
|
2
|
-
|
|
3
|
-
setup(
|
|
4
|
-
name='apiverve-mcp',
|
|
5
|
-
version='1.0.0',
|
|
6
|
-
description='APIVerve MCP Server - Access 249+ APIs through the Model Context Protocol',
|
|
7
|
-
long_description=open('README.md').read(),
|
|
8
|
-
long_description_content_type='text/markdown',
|
|
9
|
-
author='APIVerve',
|
|
10
|
-
author_email='hello@apiverve.com',
|
|
11
|
-
url='https://apiverve.com',
|
|
12
|
-
project_urls={
|
|
13
|
-
'Documentation': 'https://docs.apiverve.com',
|
|
14
|
-
'Source': 'https://github.com/apiverve/mcp',
|
|
15
|
-
'Tracker': 'https://github.com/apiverve/mcp/issues',
|
|
16
|
-
},
|
|
17
|
-
packages=find_packages(),
|
|
18
|
-
classifiers=[
|
|
19
|
-
'Development Status :: 5 - Production/Stable',
|
|
20
|
-
'Intended Audience :: Developers',
|
|
21
|
-
'License :: OSI Approved :: MIT License',
|
|
22
|
-
'Programming Language :: Python :: 3',
|
|
23
|
-
'Programming Language :: Python :: 3.8',
|
|
24
|
-
'Programming Language :: Python :: 3.9',
|
|
25
|
-
'Programming Language :: Python :: 3.10',
|
|
26
|
-
'Programming Language :: Python :: 3.11',
|
|
27
|
-
'Topic :: Software Development :: Libraries :: Python Modules',
|
|
28
|
-
],
|
|
29
|
-
python_requires='>=3.8',
|
|
30
|
-
keywords='mcp mcp-server model-context-protocol apiverve api claude chatgpt ai llm',
|
|
31
|
-
)
|