UNPKG

maplestorysea-mcp-server

Version:

NEXON MapleStory SEA API MCP Server for Claude Desktop - Complete character info, union details, guild data, rankings optimized for SEA servers

259 lines 13.8 kB
/** * NEXON MapleStory SEA Open API constants and endpoints * Official API documentation: https://openapi.nexon.com/en/game/maplestorysea/ */ export declare const API_CONFIG: { readonly BASE_URL: "https://open.api.nexon.com"; readonly VERSION: "v1"; readonly TIMEOUT: 15000; readonly RANKING_TIMEOUT: 30000; readonly RETRY_ATTEMPTS: 3; readonly RETRY_DELAY: 1000; }; export declare const ENDPOINTS: { readonly CHARACTER: { readonly OCID: "/maplestorysea/v1/id"; readonly BASIC: "/maplestorysea/v1/character/basic"; readonly POPULARITY: "/maplestorysea/v1/character/popularity"; readonly STAT: "/maplestorysea/v1/character/stat"; readonly HYPER_STAT: "/maplestorysea/v1/character/hyper-stat"; readonly PROPENSITY: "/maplestorysea/v1/character/propensity"; readonly ABILITY: "/maplestorysea/v1/character/ability"; readonly ITEM_EQUIPMENT: "/maplestorysea/v1/character/item-equipment"; readonly CASHITEM_EQUIPMENT: "/maplestorysea/v1/character/cashitem-equipment"; readonly SYMBOL_EQUIPMENT: "/maplestorysea/v1/character/symbol-equipment"; readonly SET_EFFECT: "/maplestorysea/v1/character/set-effect"; readonly BEAUTY_EQUIPMENT: "/maplestorysea/v1/character/beauty-equipment"; readonly ANDROID_EQUIPMENT: "/maplestorysea/v1/character/android-equipment"; readonly PET_EQUIPMENT: "/maplestorysea/v1/character/pet-equipment"; readonly SKILL: "/maplestorysea/v1/character/skill"; readonly LINK_SKILL: "/maplestorysea/v1/character/link-skill"; readonly VMATRIX: "/maplestorysea/v1/character/vmatrix"; readonly HEXAMATRIX: "/maplestorysea/v1/character/hexamatrix"; readonly HEXAMATRIX_STAT: "/maplestorysea/v1/character/hexamatrix-stat"; readonly DOJANG: "/maplestorysea/v1/character/dojang"; }; readonly UNION: { readonly BASIC: "/maplestorysea/v1/user/union"; readonly RAIDER: "/maplestorysea/v1/user/union-raider"; readonly ARTIFACT: "/maplestorysea/v1/user/union-artifact"; }; readonly GUILD: { readonly ID: "/maplestorysea/v1/guild/id"; readonly BASIC: "/maplestorysea/v1/guild/basic"; }; readonly RANKING: { readonly OVERALL: "/maplestorysea/v1/ranking/overall"; readonly UNION: "/maplestorysea/v1/ranking/union"; readonly GUILD: "/maplestorysea/v1/ranking/guild"; readonly DOJANG: "/maplestorysea/v1/ranking/dojang"; readonly THESEED: "/maplestorysea/v1/ranking/theseed"; readonly ACHIEVEMENT: "/maplestorysea/v1/ranking/achievement"; }; }; export declare const HEADERS: { readonly AUTHORIZATION: "x-nxopen-api-key"; readonly CONTENT_TYPE: "application/json"; readonly USER_AGENT: "mcp-maple/1.0.0"; }; export declare const HTTP_STATUS: { readonly OK: 200; readonly BAD_REQUEST: 400; readonly UNAUTHORIZED: 401; readonly FORBIDDEN: 403; readonly NOT_FOUND: 404; readonly TOO_MANY_REQUESTS: 429; readonly INTERNAL_SERVER_ERROR: 500; readonly SERVICE_UNAVAILABLE: 503; }; export declare const ERROR_MESSAGES: { readonly INVALID_API_KEY: "Invalid NEXON API key provided for MapleStory SEA"; readonly API_KEY_MISSING: "NEXON API key is required to access MapleStory SEA data"; readonly API_KEY_EXPIRED: "Your NEXON API key has expired. Please renew your API key"; readonly INSUFFICIENT_PERMISSIONS: "Your API key does not have sufficient permissions for this operation"; readonly ACCESS_DENIED: "Access denied. Please verify your API key has the correct permissions"; readonly RATE_LIMIT_EXCEEDED: "MapleStory SEA API rate limit exceeded. Please try again later"; readonly DAILY_QUOTA_EXCEEDED: "Your daily API request quota has been exceeded"; readonly CONCURRENT_REQUESTS_LIMIT: "Too many concurrent requests. Please reduce request frequency"; readonly CHARACTER_NOT_FOUND: "Character not found in MapleStory SEA servers"; readonly CHARACTER_DATA_UNAVAILABLE: "Character data is temporarily unavailable. Please try again later"; readonly GUILD_NOT_FOUND: "Guild not found in MapleStory SEA servers"; readonly GUILD_DATA_UNAVAILABLE: "Guild data is temporarily unavailable. Please try again later"; readonly RANKING_DATA_NOT_FOUND: "No ranking data available for the specified criteria"; readonly UNION_DATA_NOT_FOUND: "Union data not found for this character"; readonly INVALID_DATE_FORMAT: "Invalid date format. Use YYYY-MM-DD (e.g., 2024-01-15)"; readonly DATE_TOO_OLD: "Date is too old. Data is only available from the last 30 days"; readonly DATE_IN_FUTURE: "Date cannot be in the future. Please use today's date or earlier"; readonly INVALID_PAGE_NUMBER: "Invalid page number. Must be between 1 and 200"; readonly INVALID_CHARACTER_NAME_LENGTH: "Character name must be between 2 and 13 characters"; readonly INVALID_GUILD_NAME_LENGTH: "Guild name must be between 2 and 12 characters"; readonly NETWORK_ERROR: "Network error occurred while connecting to MapleStory SEA API"; readonly CONNECTION_TIMEOUT: "Connection timeout while accessing MapleStory SEA API"; readonly TIMEOUT_ERROR: "Request timeout while connecting to MapleStory SEA API"; readonly SERVER_UNAVAILABLE: "MapleStory SEA API server is temporarily unavailable"; readonly SERVICE_MAINTENANCE: "MapleStory SEA API is currently under maintenance"; readonly SEA_FEATURE_UNSUPPORTED: "This feature is not supported by MapleStory SEA API"; readonly SEA_WORLD_INVALID: "Invalid world name. MapleStory SEA supports: Aquila, Bootes, Cassiopeia, Draco"; readonly SEA_CHARACTER_NAME_INVALID: "Invalid character name format for MapleStory SEA. Only English letters and numbers are allowed"; readonly SEA_GUILD_NAME_INVALID: "Invalid guild name format for MapleStory SEA. Only English letters, numbers, and spaces are allowed"; readonly SEA_REGION_RESTRICTION: "This operation is restricted to MapleStory SEA region only"; readonly INTERNAL_SERVER_ERROR: "Internal server error occurred. Please try again later"; readonly BAD_GATEWAY: "Bad gateway error from MapleStory SEA API. Please try again"; readonly SERVICE_UNAVAILABLE: "MapleStory SEA API service is temporarily unavailable"; readonly GATEWAY_TIMEOUT: "Gateway timeout while processing your request"; readonly CACHE_ERROR: "Cache operation failed. Data will be fetched directly"; readonly CACHE_TIMEOUT: "Cache timeout occurred. Please try again"; readonly INCOMPLETE_DATA: "The requested data is incomplete. Some information may be missing"; readonly DATA_CORRUPTION: "Data corruption detected. Please try again with a different date"; readonly STALE_DATA: "The requested data may be outdated. Consider using a more recent date"; readonly UNKNOWN_ERROR: "An unknown error occurred with MapleStory SEA API. Please try again"; }; export declare const WORLDS: readonly ["Aquila", "Bootes", "Cassiopeia", "Draco"]; export declare const JOB_CLASSES: readonly ["Beginner", "Warrior", "Magician", "Archer", "Thief", "Pirate", "Fighter", "Crusader", "Hero", "Page", "White Knight", "Paladin", "Spearman", "Dragon Knight", "Dark Knight", "Magician", "Wizard (Fire, Poison)", "Mage (Fire, Poison)", "Arch Mage (Fire, Poison)", "Wizard (Ice, Lightning)", "Mage (Ice, Lightning)", "Arch Mage (Ice, Lightning)", "Cleric", "Priest", "Bishop", "Archer", "Hunter", "Ranger", "Bowmaster", "Crossbow Man", "Sniper", "Marksman", "Pathfinder", "Thief", "Assassin", "Hermit", "Night Lord", "Bandit", "Chief Bandit", "Shadower", "Dual Blade", "Pirate", "Brawler", "Marauder", "Buccaneer", "Gunslinger", "Outlaw", "Corsair", "Cannoneer", "Dawn Warrior", "Blaze Wizard", "Wind Archer", "Night Walker", "Thunder Breaker", "Mihile", "Aran", "Evan", "Mercedes", "Phantom", "Luminous", "Shade", "Battle Mage", "Wild Hunter", "Mechanic", "Blaster", "Demon Slayer", "Demon Avenger", "Xenon", "Kaiser", "Angelic Buster", "Cadena", "Kain", "Kanna", "Hayato", "Adele", "Ark", "Illium", "Khali", "Hoyoung", "Lara", "Lynn", "Mo Xuan", "Zero", "Kinesis", "Striker"]; export declare const JOB_CATEGORIES: { readonly EXPLORER: { readonly name: "Explorer"; readonly description: "The most iconic and versatile group in MapleStory"; readonly jobs: { readonly WARRIOR: readonly ["Hero", "Paladin", "Dark Knight"]; readonly MAGICIAN: readonly ["Arch Mage (Fire, Poison)", "Arch Mage (Ice, Lightning)", "Bishop"]; readonly ARCHER: readonly ["Bowmaster", "Marksman", "Pathfinder"]; readonly THIEF: readonly ["Night Lord", "Shadower", "Dual Blade"]; readonly PIRATE: readonly ["Buccaneer", "Corsair", "Cannoneer"]; }; }; readonly CYGNUS_KNIGHTS: { readonly name: "Cygnus Knights"; readonly description: "Created by Empress Cygnus, specializing in elemental abilities"; readonly jobs: readonly ["Dawn Warrior", "Blaze Wizard", "Wind Archer", "Night Walker", "Thunder Breaker", "Mihile"]; }; readonly HEROES: { readonly name: "Heroes"; readonly description: "Legendary characters awakened to fight the Black Mage"; readonly jobs: readonly ["Aran", "Evan", "Mercedes", "Phantom", "Luminous", "Shade"]; }; readonly RESISTANCE: { readonly name: "Resistance"; readonly description: "A rebellion group fighting against oppression"; readonly jobs: readonly ["Battle Mage", "Wild Hunter", "Mechanic", "Blaster", "Demon Slayer", "Demon Avenger", "Xenon"]; }; readonly NOVA: { readonly name: "Nova"; readonly description: "Interdimensional beings from the planet Nova"; readonly jobs: readonly ["Kaiser", "Angelic Buster", "Cadena", "Kain"]; }; readonly SENGOKU: { readonly name: "Sengoku"; readonly description: "Classes from the Sengoku period of Japan"; readonly jobs: readonly ["Kanna", "Hayato"]; }; readonly FLORA: { readonly name: "Flora"; readonly description: "Classes connected to the Flora world"; readonly jobs: readonly ["Adele", "Ark", "Illium", "Khali"]; }; readonly ANIMA: { readonly name: "Anima"; readonly description: "Classes with spiritual and mystical abilities"; readonly jobs: readonly ["Hoyoung", "Lara"]; }; readonly JIANGHU: { readonly name: "Jianghu"; readonly description: "Classes from the martial arts world"; readonly jobs: readonly ["Lynn", "Mo Xuan"]; }; readonly OTHER: { readonly name: "Other"; readonly description: "Unique classes that don't fit into other categories"; readonly jobs: readonly ["Zero", "Kinesis"]; }; }; export declare const JOB_ADVANCEMENT_LEVELS: { readonly FIRST_JOB: 10; readonly SECOND_JOB: 30; readonly THIRD_JOB: 60; readonly FOURTH_JOB: 100; readonly FIFTH_JOB: 200; readonly SIXTH_JOB: 260; }; export declare const JOB_PRIMARY_STATS: { readonly WARRIOR: "STR"; readonly MAGICIAN: "INT"; readonly ARCHER: "DEX"; readonly THIEF: "LUK"; readonly PIRATE_STR: "STR"; readonly PIRATE_DEX: "DEX"; readonly HYBRID: readonly ["STR", "DEX"]; }; export declare const RATE_LIMIT: { readonly REQUESTS_PER_MINUTE: 500; readonly REQUESTS_PER_SECOND: 10; readonly BURST_LIMIT: 15; readonly RETRY_DELAY_BASE: 1500; readonly MAX_RETRY_DELAY: 45000; readonly QUEUE_TIMEOUT: 30000; readonly CIRCUIT_BREAKER_THRESHOLD: 10; readonly CIRCUIT_BREAKER_TIMEOUT: 60000; readonly RANKING: { readonly REQUESTS_PER_SECOND: 5; readonly REQUESTS_PER_MINUTE: 200; readonly RETRY_DELAY_BASE: 2000; }; }; export declare const TIMEOUT_CONFIG: { readonly CHARACTER_BASIC: 10000; readonly CHARACTER_DETAILED: 15000; readonly CHARACTER_COMPLEX: 20000; readonly UNION_DATA: 12000; readonly GUILD_DATA: 10000; readonly RANKING_BASIC: 25000; readonly RANKING_COMPLEX: 35000; readonly SEARCH_OPERATIONS: 20000; readonly CONNECT_TIMEOUT: 5000; readonly DNS_LOOKUP_TIMEOUT: 3000; readonly RETRY_TIMEOUT_MULTIPLIER: 1.5; readonly MAX_TIMEOUT: 60000; readonly MIN_TIMEOUT: 5000; }; export declare const RETRY_CONFIG: { readonly MAX_RETRIES: 3; readonly INITIAL_DELAY: 1000; readonly MAX_DELAY: 30000; readonly BACKOFF_FACTOR: 2; readonly JITTER_FACTOR: 0.1; readonly RETRYABLE_STATUS_CODES: readonly [408, 429, 500, 502, 503, 504]; readonly RETRYABLE_ERROR_TYPES: readonly ["ECONNRESET", "ECONNREFUSED", "ETIMEDOUT", "ENOTFOUND"]; readonly RATE_LIMIT_RETRY_DELAY: 5000; readonly SERVER_ERROR_RETRY_DELAY: 2000; readonly NETWORK_ERROR_RETRY_DELAY: 1500; }; export declare const DATE_FORMATS: { readonly API_DATE: "YYYY-MM-DD"; readonly DISPLAY_DATE: "DD/MM/YYYY"; readonly ISO_DATE: "YYYY-MM-DDTHH:mm:ss.sssZ"; }; export declare const CACHE_TTL: { readonly CHARACTER_OCID: 7200000; readonly CHARACTER_BASIC: 1800000; readonly CHARACTER_STATS: 900000; readonly CHARACTER_EQUIPMENT: 600000; readonly CHARACTER_HYPER_STAT: 1800000; readonly CHARACTER_ABILITY: 1800000; readonly UNION_INFO: 1800000; readonly UNION_RAIDER: 1800000; readonly UNION_ARTIFACT: 3600000; readonly GUILD_INFO: 3600000; readonly GUILD_BASIC: 3600000; readonly RANKINGS: 900000; readonly RANKING_SEARCH: 300000; readonly RANKING_OVERALL: 900000; readonly RANKING_SPECIFIC: 1800000; readonly API_HEALTH: 300000; readonly ERROR_CACHE: 60000; }; export declare const PAGINATION: { readonly DEFAULT_COUNT: 10; readonly MAX_COUNT: 200; readonly DEFAULT_PAGE: 1; }; //# sourceMappingURL=constants.d.ts.map