@adorbistech/mcp-server 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/LICENSE ADDED
@@ -0,0 +1,3 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Adorbis Technologies LLC
package/README.md ADDED
@@ -0,0 +1,218 @@
1
+ # @adorbistech/mcp-server
2
+
3
+ <div align="center">
4
+
5
+ **Adorbis AI MCP Server**
6
+
7
+ One API key. 40+ models. Auto-routed.
8
+ Use Adorbis AI from Claude Code, Cursor, Cline, and any MCP-compatible tool.
9
+
10
+ [![npm version](https://img.shields.io/npm/v/@adorbistech/mcp-server?color=1e9ad6&label=npm)](https://www.npmjs.com/package/@adorbistech/mcp-server)
11
+ [![license](https://img.shields.io/npm/l/@adorbistech/mcp-server?color=d2bbff)](LICENSE)
12
+
13
+ [Get a free API key](https://ai.adorbistech.com) · [Documentation](https://ai.adorbistech.com/docs) · [Dashboard](https://ai.adorbistech.com/dashboard)
14
+
15
+ </div>
16
+
17
+ ---
18
+
19
+ ## Quick Install
20
+
21
+ ### Claude Code
22
+
23
+ ```bash
24
+ claude mcp add adorbis -- npx -y @adorbistech/mcp-server
25
+ ```
26
+
27
+ Then set your API key:
28
+ ```bash
29
+ claude mcp add adorbis -e ADORBIS_API_KEY=your_key_here -- npx -y @adorbistech/mcp-server
30
+ ```
31
+
32
+ Or add to `~/.claude/settings.json`:
33
+ ```json
34
+ {
35
+ "mcpServers": {
36
+ "adorbis": {
37
+ "command": "npx",
38
+ "args": ["-y", "@adorbistech/mcp-server"],
39
+ "env": {
40
+ "ADORBIS_API_KEY": "your_key_here"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ ```
46
+
47
+ ---
48
+
49
+ ### Cursor
50
+
51
+ Add to Cursor MCP settings (`~/.cursor/mcp.json`):
52
+ ```json
53
+ {
54
+ "mcpServers": {
55
+ "adorbis": {
56
+ "command": "npx",
57
+ "args": ["-y", "@adorbistech/mcp-server"],
58
+ "env": {
59
+ "ADORBIS_API_KEY": "your_key_here"
60
+ }
61
+ }
62
+ }
63
+ }
64
+ ```
65
+
66
+ ---
67
+
68
+ ### Cline (VS Code)
69
+
70
+ Add to `.vscode/settings.json` or Cline MCP settings:
71
+ ```json
72
+ {
73
+ "cline.mcpServers": {
74
+ "adorbis": {
75
+ "command": "npx",
76
+ "args": ["-y", "@adorbistech/mcp-server"],
77
+ "env": {
78
+ "ADORBIS_API_KEY": "your_key_here"
79
+ }
80
+ }
81
+ }
82
+ }
83
+ ```
84
+
85
+ ---
86
+
87
+ ### Auto-configure with CLI
88
+
89
+ Use `adorbis-init` to configure everything automatically:
90
+ ```bash
91
+ npx adorbis-init --mcps
92
+ ```
93
+
94
+ ---
95
+
96
+ ## Available Tools
97
+
98
+ Once connected, your AI assistant has access to these tools:
99
+
100
+ ### `adorbis_chat`
101
+ General-purpose AI chat. Auto-routes to the best model for your task.
102
+
103
+ ```
104
+ Ask Adorbis: What is the difference between TCP and UDP?
105
+ ```
106
+
107
+ ### `adorbis_code`
108
+ Code generation, debugging, review, and explanation. Routes to the best coding model automatically.
109
+
110
+ ```
111
+ Use adorbis_code to write a TypeScript function that debounces API calls
112
+ ```
113
+
114
+ ### `adorbis_reason`
115
+ Complex reasoning — math, logic, multi-step analysis. Routes to frontier reasoning models.
116
+
117
+ ```
118
+ Use adorbis_reason to analyze the time complexity of this algorithm
119
+ ```
120
+
121
+ ### `adorbis_write`
122
+ Long-form writing — documentation, articles, emails, reports.
123
+
124
+ ```
125
+ Use adorbis_write to create a README for my project
126
+ ```
127
+
128
+ ### `adorbis_balance`
129
+ Check your Adorbis AI credit balance and account status.
130
+
131
+ ```
132
+ Check my Adorbis balance
133
+ ```
134
+
135
+ ### `adorbis_models`
136
+ List all available departments and what they're best for.
137
+
138
+ ```
139
+ What Adorbis departments are available?
140
+ ```
141
+
142
+ ### `adorbis_multi_turn`
143
+ Multi-turn conversations with full message history.
144
+
145
+ ---
146
+
147
+ ## Departments
148
+
149
+ | Department | Best for | Speed |
150
+ |---|---|---|
151
+ | `adorbis/quick` | Chat, Q&A, simple tasks | Fastest |
152
+ | `adorbis/coder` | Code generation, debugging, review | Fast |
153
+ | `adorbis/auto` | Mixed workloads, smart routing | Varies |
154
+ | `adorbis/write` | Documentation, articles, emails | Medium |
155
+ | `adorbis/reason` | Math, logic, complex analysis | Thorough |
156
+
157
+ ---
158
+
159
+ ## How Adorbis AI works
160
+
161
+ ```
162
+ Your tool (Claude Code / Cursor / Cline)
163
+
164
+ ▼ MCP call
165
+ @adorbistech/mcp-server
166
+
167
+ ▼ HTTPS
168
+ api.adorbistech.com ←── your single API key
169
+
170
+ ┌───────┴────────┐
171
+ │ Department │
172
+ │ routing │
173
+ └───────┬────────┘
174
+
175
+ ┌─────────┼──────────┐
176
+ ▼ ▼ ▼
177
+ Gemini DeepSeek Claude
178
+ Flash V3 Sonnet
179
+ ```
180
+
181
+ Adorbis monitors model health, latency, and cost in real time. When you send a request, it routes to the best available model for that department — automatically. No manual model switching.
182
+
183
+ ---
184
+
185
+ ## Environment Variables
186
+
187
+ | Variable | Required | Description |
188
+ |---|---|---|
189
+ | `ADORBIS_API_KEY` | Yes | Your Adorbis API key |
190
+
191
+ Get a free key (1,000 credits/month) at **https://ai.adorbistech.com**
192
+
193
+ ---
194
+
195
+ ## Plans
196
+
197
+ | Plan | Price | Credits |
198
+ |---|---|---|
199
+ | Free | $0/mo | 1,000 AC |
200
+ | Starter | $10/mo | 15,000 AC |
201
+ | Pro | $30/mo | 50,000 AC |
202
+ | Business | $100/mo | 200,000 AC |
203
+
204
+ 1 AC = $0.001 of compute. [Upgrade →](https://ai.adorbistech.com/dashboard)
205
+
206
+ ---
207
+
208
+ ## Also available
209
+
210
+ - **VS Code Extension** — `ext install adorbis.adorbis-ai`
211
+ - **CLI setup wizard** — `npx adorbis-init`
212
+ - **Docs** — [ai.adorbistech.com/docs](https://ai.adorbistech.com/docs)
213
+
214
+ ---
215
+
216
+ ## License
217
+
218
+ MIT © [Adorbis Technologies LLC](https://ai.adorbistech.com)
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,312 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
6
+ const zod_1 = require("zod");
7
+ // ── Config ────────────────────────────────────────────────────────────────────
8
+ const API_KEY = process.env.ADORBIS_API_KEY || process.env.ANTHROPIC_API_KEY || "";
9
+ const BASE_URL = "https://api.adorbistech.com";
10
+ const API_URL = `${BASE_URL}/v1`;
11
+ const DEPARTMENTS = [
12
+ "adorbis/coder",
13
+ "adorbis/quick",
14
+ "adorbis/auto",
15
+ "adorbis/write",
16
+ "adorbis/reason",
17
+ ];
18
+ async function callAdorbis(messages, department = "adorbis/quick", maxTokens = 2048) {
19
+ if (!API_KEY) {
20
+ throw new Error("ADORBIS_API_KEY environment variable is not set. " +
21
+ "Get a free key at https://ai.adorbistech.com");
22
+ }
23
+ const response = await fetch(`${API_URL}/chat/completions`, {
24
+ method: "POST",
25
+ headers: {
26
+ Authorization: `Bearer ${API_KEY}`,
27
+ "Content-Type": "application/json",
28
+ },
29
+ body: JSON.stringify({
30
+ model: department,
31
+ messages,
32
+ max_tokens: maxTokens,
33
+ }),
34
+ });
35
+ if (!res.ok) {
36
+ const body = await response.text();
37
+ if (response.status === 401)
38
+ throw new Error("Invalid API key. Check your ADORBIS_API_KEY.");
39
+ if (response.status === 402)
40
+ throw new Error("Insufficient credits. Top up at https://ai.adorbistech.com/dashboard");
41
+ if (response.status === 429)
42
+ throw new Error("Rate limit exceeded. Slow down requests or upgrade your plan.");
43
+ throw new Error(`Adorbis API error (${response.status}): ${body}`);
44
+ }
45
+ return response.json();
46
+ }
47
+ async function checkBalance() {
48
+ if (!API_KEY)
49
+ throw new Error("ADORBIS_API_KEY not set.");
50
+ // Validate key via a minimal chat request
51
+ const res = await fetch(`${API_URL}/chat/completions`, {
52
+ method: "POST",
53
+ headers: {
54
+ Authorization: `Bearer ${API_KEY}`,
55
+ "Content-Type": "application/json",
56
+ },
57
+ body: JSON.stringify({
58
+ model: "adorbis/quick",
59
+ messages: [{ role: "user", content: "hi" }],
60
+ max_tokens: 1,
61
+ }),
62
+ });
63
+ if (!res.ok)
64
+ throw new Error(`API error (${res.status})`);
65
+ // Balance is returned in response headers or body depending on version
66
+ const data = await res.json();
67
+ return {
68
+ credits_remaining: data.usage?.credits_remaining ?? 0,
69
+ plan: data.plan ?? "unknown",
70
+ email: data.email,
71
+ };
72
+ }
73
+ // ── MCP Server ────────────────────────────────────────────────────────────────
74
+ const server = new mcp_js_1.McpServer({
75
+ name: "adorbis-ai",
76
+ version: "1.0.0",
77
+ description: "Adorbis AI — one API key, 40+ models, auto-routed. Access OpenAI, Anthropic, Gemini, DeepSeek and more through a single unified interface.",
78
+ });
79
+ // ── Tool: adorbis_chat ────────────────────────────────────────────────────────
80
+ server.tool("adorbis_chat", "Send a message to Adorbis AI and get a response. Adorbis auto-routes to the best available model based on the selected department. Use this for general AI assistance, questions, and conversations.", {
81
+ message: zod_1.z.string().describe("The message or question to send to the AI"),
82
+ department: zod_1.z.enum(DEPARTMENTS).optional().default("adorbis/quick").describe("AI department to use: 'adorbis/quick' (fast responses), 'adorbis/coder' (code), 'adorbis/auto' (smart routing), 'adorbis/write' (writing), 'adorbis/reason' (analysis)"),
83
+ system_prompt: zod_1.z.string().optional().describe("Optional system prompt to set context for the AI"),
84
+ max_tokens: zod_1.z.number().int().min(1).max(8192).optional().default(2048).describe("Maximum tokens in the response"),
85
+ }, async ({ message, department, system_prompt, max_tokens }) => {
86
+ const messages = [];
87
+ if (system_prompt)
88
+ messages.push({ role: "system", content: system_prompt });
89
+ messages.push({ role: "user", content: message });
90
+ const result = await callAdorbis(messages, department, max_tokens);
91
+ const reply = result.choices[0]?.message?.content ?? "";
92
+ const usage = result.usage;
93
+ return {
94
+ content: [
95
+ {
96
+ type: "text",
97
+ text: reply,
98
+ },
99
+ ],
100
+ structuredContent: {
101
+ reply,
102
+ model: result.model,
103
+ department,
104
+ usage: usage ? {
105
+ prompt_tokens: usage.prompt_tokens,
106
+ completion_tokens: usage.completion_tokens,
107
+ total_tokens: usage.total_tokens,
108
+ } : undefined,
109
+ },
110
+ };
111
+ });
112
+ // ── Tool: adorbis_code ────────────────────────────────────────────────────────
113
+ server.tool("adorbis_code", "Generate, review, debug, or explain code using Adorbis AI's code-optimized department. Routes to the best available coding model (DeepSeek Coder, Claude Sonnet, Gemini etc.) automatically.", {
114
+ task: zod_1.z.string().describe("The coding task — e.g. 'write a Python function to parse JSON', 'review this code for bugs', 'explain what this does'"),
115
+ code: zod_1.z.string().optional().describe("Existing code to review, debug, or build upon"),
116
+ language: zod_1.z.string().optional().describe("Programming language (e.g. python, typescript, rust, go)"),
117
+ max_tokens: zod_1.z.number().int().min(1).max(8192).optional().default(4096).describe("Maximum tokens in the response"),
118
+ }, async ({ task, code, language, max_tokens }) => {
119
+ const systemPrompt = `You are an expert software engineer. Provide clean, well-commented, production-ready code. ${language ? `The user is working in ${language}.` : ""} Be concise and practical.`;
120
+ let userMessage = task;
121
+ if (code) {
122
+ userMessage += `\n\n\`\`\`${language || ""}\n${code}\n\`\`\``;
123
+ }
124
+ const messages = [
125
+ { role: "system", content: systemPrompt },
126
+ { role: "user", content: userMessage },
127
+ ];
128
+ const result = await callAdorbis(messages, "adorbis/coder", max_tokens);
129
+ const reply = result.choices[0]?.message?.content ?? "";
130
+ return {
131
+ content: [{ type: "text", text: reply }],
132
+ structuredContent: {
133
+ reply,
134
+ model: result.model,
135
+ department: "adorbis/coder",
136
+ language: language ?? "unknown",
137
+ },
138
+ };
139
+ });
140
+ // ── Tool: adorbis_reason ──────────────────────────────────────────────────────
141
+ server.tool("adorbis_reason", "Solve complex problems requiring multi-step reasoning, math, logic, or analysis using Adorbis AI's reasoning department. Routes to frontier reasoning models automatically.", {
142
+ problem: zod_1.z.string().describe("The problem, question, or task requiring deep reasoning or analysis"),
143
+ context: zod_1.z.string().optional().describe("Additional context or data to consider"),
144
+ max_tokens: zod_1.z.number().int().min(1).max(8192).optional().default(4096),
145
+ }, async ({ problem, context, max_tokens }) => {
146
+ const messages = [
147
+ {
148
+ role: "system",
149
+ content: "You are an expert analyst and problem solver. Think step by step. Show your reasoning clearly before giving a final answer.",
150
+ },
151
+ {
152
+ role: "user",
153
+ content: context ? `${problem}\n\nContext:\n${context}` : problem,
154
+ },
155
+ ];
156
+ const result = await callAdorbis(messages, "adorbis/reason", max_tokens);
157
+ const reply = result.choices[0]?.message?.content ?? "";
158
+ return {
159
+ content: [{ type: "text", text: reply }],
160
+ structuredContent: { reply, model: result.model, department: "adorbis/reason" },
161
+ };
162
+ });
163
+ // ── Tool: adorbis_write ───────────────────────────────────────────────────────
164
+ server.tool("adorbis_write", "Generate long-form written content — documentation, articles, emails, reports, summaries — using Adorbis AI's writing-optimized department.", {
165
+ task: zod_1.z.string().describe("The writing task — e.g. 'write a README for my project', 'draft an email to investors', 'summarize this document'"),
166
+ content: zod_1.z.string().optional().describe("Source material, outline, or context for the writing task"),
167
+ tone: zod_1.z.enum(["professional", "casual", "technical", "friendly"]).optional().default("professional").describe("Tone of the written output"),
168
+ max_tokens: zod_1.z.number().int().min(1).max(8192).optional().default(4096),
169
+ }, async ({ task, content, tone, max_tokens }) => {
170
+ const systemPrompt = `You are an expert writer. Tone: ${tone}. Write clearly and concisely. No filler phrases.`;
171
+ const userMessage = content ? `${task}\n\nSource material:\n${content}` : task;
172
+ const messages = [
173
+ { role: "system", content: systemPrompt },
174
+ { role: "user", content: userMessage },
175
+ ];
176
+ const result = await callAdorbis(messages, "adorbis/write", max_tokens);
177
+ const reply = result.choices[0]?.message?.content ?? "";
178
+ return {
179
+ content: [{ type: "text", text: reply }],
180
+ structuredContent: { reply, model: result.model, department: "adorbis/write", tone },
181
+ };
182
+ });
183
+ // ── Tool: adorbis_balance ─────────────────────────────────────────────────────
184
+ server.tool("adorbis_balance", "Check your Adorbis AI credit balance, current plan, and account status. Useful for monitoring usage and knowing when to top up.", {}, async () => {
185
+ if (!API_KEY) {
186
+ return {
187
+ content: [{
188
+ type: "text",
189
+ text: "❌ ADORBIS_API_KEY is not set. Set it in your MCP environment variables.\n\nGet a free key at https://ai.adorbistech.com",
190
+ }],
191
+ };
192
+ }
193
+ // Make a minimal test call to verify key works
194
+ try {
195
+ const res = await fetch(`${API_URL}/chat/completions`, {
196
+ method: "POST",
197
+ headers: {
198
+ Authorization: `Bearer ${API_KEY}`,
199
+ "Content-Type": "application/json",
200
+ },
201
+ body: JSON.stringify({
202
+ model: "adorbis/quick",
203
+ messages: [{ role: "user", content: "hi" }],
204
+ max_tokens: 1,
205
+ }),
206
+ });
207
+ if (res.status === 401) {
208
+ return {
209
+ content: [{ type: "text", text: "❌ Invalid API key. Get a valid key at https://ai.adorbistech.com" }],
210
+ };
211
+ }
212
+ if (res.status === 402) {
213
+ return {
214
+ content: [{ type: "text", text: "⚠️ Credits exhausted. Top up at https://ai.adorbistech.com/dashboard" }],
215
+ };
216
+ }
217
+ const keyPreview = `${API_KEY.substring(0, 12)}...`;
218
+ return {
219
+ content: [{
220
+ type: "text",
221
+ text: `✅ Adorbis AI connected\n\nKey: ${keyPreview}\nStatus: Active\n\nManage your account: https://ai.adorbistech.com/dashboard`,
222
+ }],
223
+ structuredContent: {
224
+ connected: true,
225
+ key_preview: keyPreview,
226
+ dashboard_url: "https://ai.adorbistech.com/dashboard",
227
+ },
228
+ };
229
+ }
230
+ catch (err) {
231
+ return {
232
+ content: [{ type: "text", text: `❌ Network error: ${err.message}` }],
233
+ };
234
+ }
235
+ });
236
+ // ── Tool: adorbis_models ──────────────────────────────────────────────────────
237
+ server.tool("adorbis_models", "List all available Adorbis AI departments and what they route to. Use this to understand which department to use for different tasks.", {}, async () => {
238
+ const models = [
239
+ {
240
+ department: "adorbis/quick",
241
+ description: "Fast responses — best for chat, Q&A, simple tasks",
242
+ use_cases: ["quick questions", "chat", "classification", "short summaries"],
243
+ speed: "fastest",
244
+ },
245
+ {
246
+ department: "adorbis/coder",
247
+ description: "Code generation, debugging, review, and explanation",
248
+ use_cases: ["write code", "debug", "code review", "explain code", "refactor"],
249
+ speed: "fast",
250
+ },
251
+ {
252
+ department: "adorbis/auto",
253
+ description: "Smart routing — picks the best model for your task automatically",
254
+ use_cases: ["mixed workloads", "when unsure", "general purpose"],
255
+ speed: "varies",
256
+ },
257
+ {
258
+ department: "adorbis/write",
259
+ description: "Long-form writing — documentation, articles, emails, reports",
260
+ use_cases: ["README files", "blog posts", "documentation", "emails", "summaries"],
261
+ speed: "medium",
262
+ },
263
+ {
264
+ department: "adorbis/reason",
265
+ description: "Complex reasoning — math, logic, analysis, multi-step problems",
266
+ use_cases: ["math problems", "logical reasoning", "data analysis", "research"],
267
+ speed: "slower but thorough",
268
+ },
269
+ ];
270
+ const text = models.map(m => `**${m.department}**\n${m.description}\nUse for: ${m.use_cases.join(", ")}\nSpeed: ${m.speed}`).join("\n\n");
271
+ return {
272
+ content: [{ type: "text", text: `Available Adorbis AI departments:\n\n${text}` }],
273
+ structuredContent: { departments: models },
274
+ };
275
+ });
276
+ // ── Tool: adorbis_multi_turn ──────────────────────────────────────────────────
277
+ server.tool("adorbis_multi_turn", "Have a multi-turn conversation with Adorbis AI by passing the full message history. Use this when you need to maintain context across multiple exchanges.", {
278
+ messages: zod_1.z.array(zod_1.z.object({
279
+ role: zod_1.z.enum(["user", "assistant", "system"]),
280
+ content: zod_1.z.string(),
281
+ })).describe("Full conversation history as an array of {role, content} objects"),
282
+ department: zod_1.z.enum(DEPARTMENTS).optional().default("adorbis/auto"),
283
+ max_tokens: zod_1.z.number().int().min(1).max(8192).optional().default(2048),
284
+ }, async ({ messages, department, max_tokens }) => {
285
+ const result = await callAdorbis(messages, department, max_tokens);
286
+ const reply = result.choices[0]?.message?.content ?? "";
287
+ return {
288
+ content: [{ type: "text", text: reply }],
289
+ structuredContent: {
290
+ reply,
291
+ model: result.model,
292
+ department,
293
+ message_count: messages.length,
294
+ },
295
+ };
296
+ });
297
+ // ── Start server ──────────────────────────────────────────────────────────────
298
+ async function main() {
299
+ if (!API_KEY) {
300
+ process.stderr.write("[adorbis-mcp] WARNING: ADORBIS_API_KEY is not set. " +
301
+ "Tools will return errors until the key is configured. " +
302
+ "Get a free key at https://ai.adorbistech.com\n");
303
+ }
304
+ const transport = new stdio_js_1.StdioServerTransport();
305
+ await server.connect(transport);
306
+ process.stderr.write("[adorbis-mcp] Adorbis AI MCP server running on stdio\n");
307
+ }
308
+ main().catch(err => {
309
+ process.stderr.write(`[adorbis-mcp] Fatal error: ${err.message}\n`);
310
+ process.exit(1);
311
+ });
312
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@adorbistech/mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "Adorbis AI MCP server — one key, every model, auto-routed. Use Adorbis AI from Claude Code, Cursor, Cline, and any MCP-compatible tool.",
5
+ "main": "dist/index.js",
6
+ "bin": {
7
+ "adorbis-mcp": "dist/index.js"
8
+ },
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "start": "node dist/index.js",
12
+ "dev": "ts-node src/index.ts",
13
+ "prepublish": "npm run build"
14
+ },
15
+ "keywords": [
16
+ "mcp",
17
+ "model-context-protocol",
18
+ "adorbis",
19
+ "ai",
20
+ "llm",
21
+ "openai",
22
+ "anthropic",
23
+ "claude",
24
+ "cursor",
25
+ "cline",
26
+ "claude-code"
27
+ ],
28
+ "author": "Adorbis Technologies LLC",
29
+ "license": "MIT",
30
+ "homepage": "https://ai.adorbistech.com",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/adorbistech/adorbis-mcp.git"
34
+ },
35
+ "bugs": {
36
+ "url": "https://github.com/adorbistech/adorbis-mcp/issues"
37
+ },
38
+ "dependencies": {
39
+ "@modelcontextprotocol/sdk": "^1.0.0"
40
+ },
41
+ "devDependencies": {
42
+ "@types/node": "^20.0.0",
43
+ "typescript": "^5.3.0"
44
+ },
45
+ "engines": {
46
+ "node": ">=18"
47
+ },
48
+ "files": [
49
+ "dist",
50
+ "README.md",
51
+ "LICENSE"
52
+ ]
53
+ }