@osaas/mcp-server
Advanced tools
Comparing version 0.1.1 to 0.2.0
@@ -6,1 +6,4 @@ import { z } from 'zod'; | ||
}); | ||
export const CreateBucketSchema = z.object({ | ||
name: z.string().describe('Name of the bucket') | ||
}); |
import { zodToJsonSchema } from 'zod-to-json-schema'; | ||
import { z } from 'zod'; | ||
import { CreateDatabaseSchema } from '../schemas.js'; | ||
import { CreateBucketSchema, CreateDatabaseSchema } from '../schemas.js'; | ||
import { createValkeyInstance } from '../resources/valkey_io_valkey.js'; | ||
import { createMinioInstance } from '../resources/minio_minio.js'; | ||
export function listOscTools() { | ||
@@ -11,2 +12,7 @@ return [ | ||
inputSchema: zodToJsonSchema(CreateDatabaseSchema) | ||
}, | ||
{ | ||
name: 'osc_create_bucket', | ||
description: 'Create an S3 compatible bucket in Eyevinn Open Source Cloud', | ||
inputSchema: zodToJsonSchema(CreateBucketSchema) | ||
} | ||
@@ -26,2 +32,7 @@ ]; | ||
} | ||
case 'osc_create_bucket': { | ||
const args = CreateBucketSchema.parse(request.params.arguments); | ||
const { endpoint, accessKeyId, secretAccessKey } = await createBucket(args.name, context); | ||
return { toolResult: { endpoint, accessKeyId, secretAccessKey } }; | ||
} | ||
default: | ||
@@ -50,1 +61,4 @@ throw new Error(`Unknown tool: ${request.params.name}`); | ||
} | ||
export async function createBucket(name, context) { | ||
return await createMinioInstance(context, name); | ||
} |
{ | ||
"name": "@osaas/mcp-server", | ||
"version": "0.1.1", | ||
"version": "0.2.0", | ||
"description": "MCP server for using the Eyevinn Open Source Cloud API", | ||
@@ -18,2 +18,5 @@ "license": "MIT", | ||
"watch": "tsc --watch", | ||
"lint": "eslint .", | ||
"pretty": "prettier --check --ignore-unknown .", | ||
"typecheck": "tsc --noEmit -p tsconfig.json", | ||
"postversion": "git push && git push --tags" | ||
@@ -23,4 +26,5 @@ }, | ||
"@modelcontextprotocol/sdk": "0.6.0", | ||
"@osaas/client-core": "^0.12.0", | ||
"@osaas/client-core": "^0.13.0", | ||
"dotenv": "^16.4.5", | ||
"minio": "^8.0.2", | ||
"zod-to-json-schema": "^3.23.5" | ||
@@ -27,0 +31,0 @@ }, |
@@ -8,2 +8,3 @@ # Eyevinn Open Source Cloud MCP Server | ||
- **Database Setup**: Create and setup an SQL-, NoSQL- or memory-database based on open source made available as an open web service. | ||
- **Storage Setup**: Create an S3 compatible storage bucket based on open source made available as an open web service. | ||
@@ -14,3 +15,3 @@ ![screenshot](screenshot.png) | ||
1. `create_db` | ||
1. `osc_create_db` | ||
- Create a new database instance | ||
@@ -21,2 +22,7 @@ - Inputs: | ||
- Returns: Connection string to database | ||
2. `osc_create_bucket` | ||
- Create a storage bucket | ||
- Inputs: | ||
- `name` (string): Name of bucket | ||
- Returns: Endpoint and credentials to bucket | ||
@@ -38,2 +44,3 @@ ## Setup | ||
### Usage with Claude Desktop | ||
To use this with Claude Desktop, add the following to your `claude_desktop_config.json`: | ||
@@ -45,3 +52,4 @@ | ||
"eyevinn-osc": { | ||
"command": "mcp-eyevinn-osc", | ||
"command": "npx", | ||
"args": ["-y", "@osaas/mcp-server"], | ||
"env": { | ||
@@ -54,2 +62,3 @@ "OSC_ACCESS_TOKEN": "<YOUR_TOKEN>" | ||
``` | ||
## Development | ||
@@ -56,0 +65,0 @@ |
14794
11
267
68
5
+ Addedminio@^8.0.2
+ Added@osaas/client-core@0.13.0(transitive)
+ Added@zxing/text-encoding@0.9.0(transitive)
+ Addedasync@3.2.6(transitive)
+ Addedavailable-typed-arrays@1.0.7(transitive)
+ Addedblock-stream2@2.1.0(transitive)
+ Addedbrowser-or-node@2.1.1(transitive)
+ Addedbuffer-crc32@1.0.0(transitive)
+ Addedcall-bind@1.0.8(transitive)
+ Addedcall-bind-apply-helpers@1.0.1(transitive)
+ Addedcall-bound@1.0.3(transitive)
+ Addeddecode-uri-component@0.2.2(transitive)
+ Addeddefine-data-property@1.1.4(transitive)
+ Addeddunder-proto@1.0.1(transitive)
+ Addedes-define-property@1.0.1(transitive)
+ Addedes-errors@1.3.0(transitive)
+ Addedes-object-atoms@1.1.1(transitive)
+ Addedeventemitter3@5.0.1(transitive)
+ Addedfast-xml-parser@4.5.1(transitive)
+ Addedfilter-obj@1.1.0(transitive)
+ Addedfor-each@0.3.4(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedget-intrinsic@1.2.7(transitive)
+ Addedget-proto@1.0.1(transitive)
+ Addedgopd@1.2.0(transitive)
+ Addedhas-property-descriptors@1.0.2(transitive)
+ Addedhas-symbols@1.1.0(transitive)
+ Addedhas-tostringtag@1.0.2(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedipaddr.js@2.2.0(transitive)
+ Addedis-arguments@1.2.0(transitive)
+ Addedis-callable@1.2.7(transitive)
+ Addedis-generator-function@1.1.0(transitive)
+ Addedis-regex@1.2.1(transitive)
+ Addedis-typed-array@1.1.15(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedmath-intrinsics@1.1.0(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedminio@8.0.4(transitive)
+ Addedpossible-typed-array-names@1.1.0(transitive)
+ Addedquery-string@7.1.3(transitive)
+ Addedreadable-stream@3.6.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafe-regex-test@1.1.0(transitive)
+ Addedsax@1.4.1(transitive)
+ Addedset-function-length@1.2.2(transitive)
+ Addedsplit-on-first@1.1.0(transitive)
+ Addedstream-chain@2.2.5(transitive)
+ Addedstream-json@1.9.1(transitive)
+ Addedstrict-uri-encode@2.0.0(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedstrnum@1.0.5(transitive)
+ Addedthrough2@4.0.2(transitive)
+ Addedutil@0.12.5(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addedweb-encoding@1.1.5(transitive)
+ Addedwhich-typed-array@1.1.18(transitive)
+ Addedxml2js@0.6.2(transitive)
+ Addedxmlbuilder@11.0.1(transitive)
- Removed@osaas/client-core@0.12.0(transitive)
Updated@osaas/client-core@^0.13.0