@mcp-marketplace/types
v1.0.0
Published
TypeScript type definitions for MCP Marketplace
Maintainers
Readme
@mcp-marketplace/types
TypeScript type definitions for the MCP (Model Context Protocol) App Marketplace.
Installation
npm install @mcp-marketplace/typesUsage
Import the types you need:
import type {
MCPApp,
AppManifest,
MCPServer,
MCPTool,
ToolUsage
} from '@mcp-marketplace/types';Type Definitions
MCPApp
Represents an MCP app in the marketplace:
interface MCPApp {
id: string;
name: string;
description: string;
icon: string;
category: string;
version?: string;
author?: string;
type?: 'local' | 'external-api';
command?: string;
args?: string[];
env?: Record<string, string>;
requiresConfig?: string[];
source: 'native' | 'custom' | 'uploaded';
installed?: boolean;
relevance?: number;
visibility?: 'private' | 'global';
userId?: string;
// External API specific
endpoint?: string;
transport?: 'sse' | 'http';
authType?: 'bearer' | 'api-key' | 'none';
authHeader?: string;
authConfigKey?: string;
}AppManifest
App manifest structure for local and external API apps:
interface AppManifest {
id: string;
name: string;
description: string;
icon: string;
category: string;
version: string;
author?: string;
type: 'local' | 'external-api';
local?: AppManifestLocal;
externalApi?: AppManifestExternalApi;
visibility?: 'private' | 'global';
}MCPServer
Server configuration for MCP apps:
interface MCPServer {
id: string;
name: string;
type?: 'local' | 'external-api';
command?: string;
args?: string[];
env?: Record<string, string>;
connected: boolean;
endpoint?: string;
transport?: 'sse' | 'http';
authType?: 'bearer' | 'api-key' | 'none';
authHeader?: string;
authConfigKey?: string;
}MCPTool
Tool definition for MCP servers:
interface MCPTool {
name: string;
description: string;
serverId: string;
inputSchema: Record<string, any>;
}ToolUsage
Tool usage tracking:
interface ToolUsage {
id: string;
serverId: string;
serverName: string;
toolName: string;
toolDescription: string;
args: Record<string, any>;
result?: any;
timestamp: string;
duration?: number;
success: boolean;
error?: string;
}License
MIT License
