@swiftmcp/sdk
v1.1.0
Published
The SwiftMCP SaaS API provides comprehensive access to the MCP-native marketplace platform. This API enables AI agents and providers to participate in the marketplace, manage capabilities, track usage, and handle billing through standardized REST endpoi
Downloads
4
Readme
@swiftmcp/sdk
JavaScript/Node.js SDK for SwiftMCP API
Installation
npm install @swiftmcp/sdk
# or
yarn add @swiftmcp/sdkQuick Start
JavaScript (CommonJS)
const SwiftMCP = require('@swiftmcp/sdk');
const client = new SwiftMCP.ApiClient();
client.authentications['BearerAuth'].apiKey = 'your-api-key';
const userApi = new SwiftMCP.UserManagementApi(client);
// Register a new user
userApi.usersRegisterPost({
email: '[email protected]',
password: 'securePassword123!'
}).then(result => {
console.log('User registered:', result);
}).catch(error => {
console.error('Error:', error);
});JavaScript (ES Modules)
import SwiftMCP from '@swiftmcp/sdk';
const client = new SwiftMCP.ApiClient();
client.authentications['BearerAuth'].apiKey = 'your-api-key';
const userApi = new SwiftMCP.UserManagementApi(client);
// Register a new user
const result = await userApi.usersRegisterPost({
email: '[email protected]',
password: 'securePassword123!'
});
console.log('User registered:', result);TypeScript
import SwiftMCP, { User, ApiKey, MCPResponse } from '@swiftmcp/sdk';
const client = new SwiftMCP.ApiClient();
client.authentications['BearerAuth'].apiKey = 'your-api-key';
const userApi = new SwiftMCP.UserManagementApi(client);
// Register a new user with full type safety
try {
const result: User = await userApi.usersRegisterPost({
email: '[email protected]',
password: 'securePassword123!'
});
console.log('User registered:', result.id);
} catch (error) {
console.error('Error:', error);
}
// Create API key with types
const apiKeyApi = new SwiftMCP.APIKeysApi(client);
const newApiKey: ApiKey = await apiKeyApi.usersApiKeysPost({
name: 'My API Key',
roles: ['user']
});Authentication
All API requests require authentication using an API key. You can create API keys through the SwiftMCP dashboard or using the API.
Setting up Authentication
JavaScript
const client = new SwiftMCP.ApiClient();
client.authentications['BearerAuth'].apiKey = process.env.SWIFTMCP_API_KEY;TypeScript
import SwiftMCP from '@swiftmcp/sdk';
const client = new SwiftMCP.ApiClient();
client.authentications['BearerAuth'].apiKey = process.env.SWIFTMCP_API_KEY!;
// Type-safe configuration
interface ClientConfig {
apiKey: string;
baseUrl?: string;
}
function createClient(config: ClientConfig): SwiftMCP.ApiClient {
const client = new SwiftMCP.ApiClient();
client.authentications['BearerAuth'].apiKey = config.apiKey;
return client;
}Error Handling
JavaScript
try {
const result = await userApi.usersRegisterPost(userData);
console.log(result);
} catch (error) {
if (error.response) {
console.error('API Error:', error.response.status, error.response.data);
} else {
console.error('Network Error:', error.message);
}
}TypeScript
import SwiftMCP, { User, ApiError } from '@swiftmcp/sdk';
// Type-safe error handling
interface UserRegistrationData {
email: string;
password: string;
}
async function registerUser(userData: UserRegistrationData): Promise<User | null> {
try {
const result: User = await userApi.usersRegisterPost(userData);
console.log('User registered successfully:', result.id);
return result;
} catch (error: any) {
// Type-safe error handling
if (error.response) {
const apiError: ApiError = {
status: error.response.status,
message: error.response.data?.message || 'API Error',
response: error.response
};
console.error('API Error:', apiError.status, apiError.message);
} else {
console.error('Network Error:', error.message);
}
return null;
}
}Rate Limiting
The SwiftMCP API has rate limits. The SDK automatically handles rate limiting with exponential backoff.
Support
- Documentation: https://docs.swiftmcp.com
- API Reference: https://api.swiftmcp.com/docs
- Support: [email protected]
- GitHub: https://github.com/swiftmcp/swiftmcp-saas
License
MIT License
