Skip to main content
Glama
README.md5.17 kB
# Secure MCP Client SDK <div align="center"> ``` ██████╗ ███████╗██████╗ ███████╗███████╗ ██████╗██╗ ██╗██╗ ██████╗ ███╗ ██╗ ██╔══██╗██╔════╝██╔══██╗██╔════╝██╔════╝██╔════╝╚██╗██╔╝██║██╔═══██╗████╗ ██║ ██████╔╝█████╗ ██████╔╝█████╗ █████╗ ██║ ╚███╔╝ ██║██║ ██║██╔██╗ ██║ ██╔═══╝ ██╔══╝ ██╔══██╗██╔══╝ ██╔══╝ ██║ ██╔██╗ ██║██║ ██║██║╚██╗██║ ██║ ███████╗██║ ██║██║ ███████╗╚██████╗██╔╝ ██╗██║╚██████╔╝██║ ╚████║ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═══╝ .ai ``` <p><strong>Developed by the perfecXion.ai Team</strong></p> <p> <a href="https://perfecxion.ai">Website</a> • <a href="https://github.com/perfecxion-ai/secure-mcp">GitHub</a> • <a href="https://www.npmjs.com/package/@perfecxion/secure-mcp-client">NPM</a> </p> </div> --- Official client SDK for the Secure MCP Server by **perfecXion.ai**. ## Installation ```bash npm install @perfecxion/secure-mcp-client ``` ## Quick Start ```typescript import { SecureMCPClient } from '@perfecxion/secure-mcp-client'; // Initialize client const client = new SecureMCPClient({ serverUrl: 'https://mcp.example.com', apiKey: 'your-api-key', debug: true }); // Connect via WebSocket await client.connect(); // List available tools const tools = await client.listTools(); console.log('Available tools:', tools); // Execute a tool const result = await client.executeTool('search', { query: 'machine learning papers' }); // Subscribe to events client.subscribe('notification', (data) => { console.log('Notification:', data); }); // Disconnect when done client.disconnect(); ``` ## Features - ✅ WebSocket and HTTP transport - ✅ Automatic reconnection - ✅ JWT and API key authentication - ✅ Event subscription - ✅ TypeScript support - ✅ Promise-based API - ✅ Request queuing ## API Reference ### Constructor ```typescript new SecureMCPClient(config: MCPClientConfig) ``` **Config Options:** - `serverUrl`: MCP server URL (required) - `apiKey`: API key for authentication - `jwt`: JWT token for authentication - `timeout`: Request timeout in ms (default: 30000) - `reconnectionAttempts`: Max reconnection attempts (default: 5) - `debug`: Enable debug logging (default: false) ### Methods #### connect() Connect to the MCP server via WebSocket. ```typescript await client.connect(); ``` #### disconnect() Disconnect from the MCP server. ```typescript client.disconnect(); ``` #### request(method, params) Send a generic request to the MCP server. ```typescript const response = await client.request('custom/method', { data: 'value' }); ``` #### listTools() Get list of available tools. ```typescript const tools = await client.listTools(); ``` #### executeTool(name, params) Execute a specific tool. ```typescript const result = await client.executeTool('search', { query: 'test' }); ``` #### listResources() Get list of available resources. ```typescript const resources = await client.listResources(); ``` #### readResource(uri) Read a specific resource. ```typescript const content = await client.readResource('file:///path/to/resource'); ``` #### complete(prompt, options) Send a completion request. ```typescript const response = await client.complete('Generate a summary of...', { temperature: 0.7, maxTokens: 1000 }); ``` #### subscribe(event, handler) Subscribe to server events. ```typescript client.subscribe('update', (data) => { console.log('Update received:', data); }); ``` ## Events - `connected`: Fired when connected to server - `disconnected`: Fired when disconnected from server - `error`: Fired on connection or request error - `message`: Fired for all incoming messages ## Authentication ### API Key ```typescript const client = new SecureMCPClient({ serverUrl: 'https://mcp.example.com', apiKey: 'your-api-key' }); ``` ### JWT Token ```typescript const client = new SecureMCPClient({ serverUrl: 'https://mcp.example.com', jwt: 'your-jwt-token' }); ``` ## Error Handling ```typescript try { await client.connect(); const result = await client.executeTool('tool', {}); } catch (error) { console.error('MCP Error:', error.message); } ``` ## License Apache-2.0 --- <div align="center"> <p><strong>Built with ❤️ by the perfecXion.ai Team</strong></p> <p>© 2024 perfecXion.ai - Enterprise AI Solutions</p> </div>

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/perfecxion-ai/secure-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server