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

812 lines 22.1 kB
/** * TypeScript interfaces for NEXON MapleStory SEA Open API * Based on official NEXON Open API documentation for SEA region */ export interface BaseApiResponse { count?: number; } import type { MemoryCache } from '../utils/cache'; export interface ApiError { error: { name: string; message: string; }; } export interface CharacterOcid { ocid: string; } export interface CharacterBasic { date: string; character_name: string; world_name: string; character_gender: string; character_class: string; character_class_level: string; character_level: number; character_exp: number; character_exp_rate: string; character_guild_name: string; character_image: string; } export interface CharacterStat { date: string; character_class: string; final_stat: Array<{ stat_name: string; stat_value: string; }>; remain_ap: number; } export interface CharacterHyperStat { date: string; character_class: string; use_preset_no: string; use_available_hyper_stat: number; hyper_stat_preset_1: Array<{ stat_type: string; stat_point: number; stat_level: number; stat_increase: string; }>; hyper_stat_preset_2: Array<{ stat_type: string; stat_point: number; stat_level: number; stat_increase: string; }>; hyper_stat_preset_3: Array<{ stat_type: string; stat_point: number; stat_level: number; stat_increase: string; }>; } export interface CharacterPropensity { date: string; charisma_level: number; sensibility_level: number; insight_level: number; willpower_level: number; handicraft_level: number; charm_level: number; } export interface CharacterAbility { date: string; ability_grade: string; ability_info: Array<{ ability_no: string; ability_grade: string; ability_value: string; }>; remain_fame: number; preset_no: number; } export interface ItemEquipment { date: string; character_gender: string; character_class: string; preset_no: number; item_equipment: Array<{ item_equipment_part: string; item_equipment_slot: string; item_name: string; item_icon: string; item_description: string; item_shape_name: string; item_shape_icon: string; item_gender: string; item_total_option: { str: string; dex: string; int: string; luk: string; max_hp: string; max_mp: string; attack_power: string; magic_power: string; armor: string; speed: string; jump: string; boss_damage: string; ignore_monster_armor: string; all_stat: string; damage: string; equipment_level_decrease: number; max_hp_rate: string; max_mp_rate: string; }; item_base_option: { str: string; dex: string; int: string; luk: string; max_hp: string; max_mp: string; attack_power: string; magic_power: string; armor: string; speed: string; jump: string; boss_damage: string; ignore_monster_armor: string; all_stat: string; max_hp_rate: string; max_mp_rate: string; base_equipment_level: number; }; potential_option_grade: string; additional_potential_option_grade: string; potential_option_1: string; potential_option_2: string; potential_option_3: string; additional_potential_option_1: string; additional_potential_option_2: string; additional_potential_option_3: string; equipment_level_increase: number; equipment_exp: number; equipment_exp_rate: string; item_exceptional_option: { str: string; dex: string; int: string; luk: string; max_hp: string; max_mp: string; attack_power: string; magic_power: string; }; item_add_option: { str: string; dex: string; int: string; luk: string; max_hp: string; max_mp: string; attack_power: string; magic_power: string; speed: string; jump: string; boss_damage: string; damage: string; all_stat: string; equipment_level_decrease: number; }; growth_exp: number; growth_level: number; scroll_upgrade: string; cuttable_count: string; golden_hammer_flag: string; scroll_resilience_count: string; scroll_upgradeable_count: string; soul_name: string; soul_option: string; item_etc_option: { str: string; dex: string; int: string; luk: string; max_hp: string; max_mp: string; attack_power: string; magic_power: string; armor: string; speed: string; jump: string; }; starforce: string; starforce_scroll_flag: string; item_starforce_option: { str: string; dex: string; int: string; luk: string; max_hp: string; max_mp: string; attack_power: string; magic_power: string; armor: string; speed: string; jump: string; }; special_ring_level: number; date_expire: string; }>; title: { title_name: string; title_icon: string; title_description: string; date_expire: string; date_option_expire: string; }; dragon_equipment: Array<{ item_equipment_part: string; equipment_slot: string; item_name: string; item_icon: string; item_description: string; item_shape_name: string; item_shape_icon: string; item_gender: string; }>; mechanic_equipment: Array<{ item_equipment_part: string; equipment_slot: string; item_name: string; item_icon: string; item_description: string; item_shape_name: string; item_shape_icon: string; item_gender: string; }>; } export interface UnionInfo { date: string; union_level: number; union_grade: string; union_artifact_level: number; union_artifact_exp: number; union_artifact_point: number; } export interface UnionRaider { date: string; union_raider_stat: string[]; union_occupied_stat: string[]; union_inner_stat: Array<{ stat_field_id: string; stat_field_effect: string; }>; union_block: Array<{ block_type: string; block_class: string; block_level: string; block_control_point: { x: number; y: number; }; block_position: Array<{ x: number; y: number; }>; }>; use_preset_no: number; union_raider_preset_1: { union_raider_stat: string[]; union_occupied_stat: string[]; union_inner_stat: Array<{ stat_field_id: string; stat_field_effect: string; }>; union_block: Array<{ block_type: string; block_class: string; block_level: string; block_control_point: { x: number; y: number; }; block_position: Array<{ x: number; y: number; }>; }>; }; union_raider_preset_2: { union_raider_stat: string[]; union_occupied_stat: string[]; union_inner_stat: Array<{ stat_field_id: string; stat_field_effect: string; }>; union_block: Array<{ block_type: string; block_class: string; block_level: string; block_control_point: { x: number; y: number; }; block_position: Array<{ x: number; y: number; }>; }>; }; union_raider_preset_3: { union_raider_stat: string[]; union_occupied_stat: string[]; union_inner_stat: Array<{ stat_field_id: string; stat_field_effect: string; }>; union_block: Array<{ block_type: string; block_class: string; block_level: string; block_control_point: { x: number; y: number; }; block_position: Array<{ x: number; y: number; }>; }>; }; } export interface GuildId { oguild_id: string; } export interface GuildBasic { date: string; world_name: string; guild_name: string; guild_level: number; guild_fame: number; guild_point: number; guild_master_name: string; guild_member_count: number; guild_member: string[]; guild_skill: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; guild_noblesse_skill: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; guild_mark: string; guild_mark_custom: string; } export interface GuildMember { guild_member: Array<{ character_name: string; character_level: number; character_class: string; }>; } export interface OverallRanking extends BaseApiResponse { ranking: Array<{ date: string; ranking: number; character_name: string; world_name: string; class_name: string; sub_class_name: string; character_level: number; character_exp: number; character_popularity: number; character_guildname: string; }>; } export interface UnionRanking extends BaseApiResponse { ranking: Array<{ date: string; ranking: number; character_name: string; world_name: string; class_name: string; sub_class_name: string; union_level: number; union_power: number; }>; } export interface GuildRanking extends BaseApiResponse { ranking: Array<{ date: string; ranking: number; guild_name: string; world_name: string; guild_level: number; guild_master_name: string; guild_mark: string; guild_point: number; }>; } export interface ApiClientConfig { apiKey: string; baseURL?: string; timeout?: number; retryAttempts?: number; retryDelay?: number; cache?: MemoryCache; } export interface PaginationParams { count?: number; page?: number; } export interface DateParam { date?: string; } export interface CharacterPopularity { date: string; popularity: number; character_name: string; } export interface SymbolEquipment { date: string; character_class: string; symbol: Array<{ symbol_name: string; symbol_icon: string; symbol_description: string; symbol_force: string; symbol_level: number; symbol_str: string; symbol_dex: string; symbol_int: string; symbol_luk: string; symbol_hp: string; symbol_growth_count: number; symbol_require_growth_count: number; }>; } export interface SetEffect { date: string; set_effect: Array<{ set_name: string; total_set_count: number; set_effect_info: Array<{ set_count: number; set_option: string; }>; set_option: string; }>; } export interface AndroidEquipment { date: string; android_name: string; android_nickname: string; android_icon: string; android_description: string; android_hair: { hair_name: string; base_color: string; mix_color: string; mix_rate: string; }; android_face: { face_name: string; base_color: string; mix_color: string; mix_rate: string; }; android_ear_sensor_clip_flag: string; android_gender: string; android_grade: string; android_skin_name: string; android_cash_item_equipment: Array<{ cash_item_equipment_part: string; cash_item_equipment_slot: string; cash_item_name: string; cash_item_icon: string; cash_item_description: string; cash_item_option: Array<{ option_type: string; option_value: string; }>; date_expire: string; date_option_expire: string; cash_item_label: string; cash_item_coloring_prism: { color_range: string; hue: number; saturation: number; value: number; }; }>; android_non_cash_item_equipment: Array<{ non_cash_item_equipment_part: string; non_cash_item_equipment_slot: string; non_cash_item_name: string; non_cash_item_icon: string; }>; android_preset_1: any; android_preset_2: any; android_preset_3: any; } export interface PetEquipment { date: string; pet_1_name: string; pet_1_nickname: string; pet_1_icon: string; pet_1_description: string; pet_1_equipment: Array<{ item_name: string; item_icon: string; item_description: string; item_option: Array<{ option_type: string; option_value: string; }>; scroll_upgrade: string; scroll_upgradeable: string; item_shape: string; item_shape_icon: string; }>; pet_1_auto_skill: { skill_1: string; skill_1_icon: string; skill_2: string; skill_2_icon: string; }; pet_1_pet_type: string; pet_1_skill: Array<string>; pet_1_date_expire: string; pet_1_appearance: string; pet_1_appearance_icon: string; pet_2_name: string; pet_2_nickname: string; pet_2_icon: string; pet_2_description: string; pet_2_equipment: Array<{ item_name: string; item_icon: string; item_description: string; item_option: Array<{ option_type: string; option_value: string; }>; scroll_upgrade: string; scroll_upgradeable: string; item_shape: string; item_shape_icon: string; }>; pet_2_auto_skill: { skill_1: string; skill_1_icon: string; skill_2: string; skill_2_icon: string; }; pet_2_pet_type: string; pet_2_skill: Array<string>; pet_2_date_expire: string; pet_2_appearance: string; pet_2_appearance_icon: string; pet_3_name: string; pet_3_nickname: string; pet_3_icon: string; pet_3_description: string; pet_3_equipment: Array<{ item_name: string; item_icon: string; item_description: string; item_option: Array<{ option_type: string; option_value: string; }>; scroll_upgrade: string; scroll_upgradeable: string; item_shape: string; item_shape_icon: string; }>; pet_3_auto_skill: { skill_1: string; skill_1_icon: string; skill_2: string; skill_2_icon: string; }; pet_3_pet_type: string; pet_3_skill: Array<string>; pet_3_date_expire: string; pet_3_appearance: string; pet_3_appearance_icon: string; } export interface CharacterSkill { date: string; character_class: string; character_skill_grade: string; character_skill: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; } export interface LinkSkill { date: string; character_class: string; character_link_skill: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; character_link_skill_preset_1: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; character_link_skill_preset_2: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; character_link_skill_preset_3: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; character_owned_link_skill: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; character_owned_link_skill_preset_1: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; character_owned_link_skill_preset_2: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; character_owned_link_skill_preset_3: Array<{ skill_name: string; skill_description: string; skill_level: number; skill_effect: string; skill_icon: string; }>; } export interface VMatrix { date: string; character_class: string; character_v_core_equipment: Array<{ slot_id: string; slot_level: number; v_core_name: string; v_core_type: string; v_core_level: number; v_core_skill_1: string; v_core_skill_2: string; v_core_skill_3: string; }>; character_v_matrix_remain_slot_upgrade_point: number; } export interface HexaMatrix { date: string; character_hexa_core_equipment: Array<{ hexa_core_name: string; hexa_core_level: number; hexa_core_type: string; linked_skill: Array<{ hexa_skill_id: string; }>; }>; character_hexa_matrix_preset_1: Array<{ hexa_core_name: string; hexa_core_level: number; hexa_core_type: string; linked_skill: Array<{ hexa_skill_id: string; }>; }>; character_hexa_matrix_preset_2: Array<{ hexa_core_name: string; hexa_core_level: number; hexa_core_type: string; linked_skill: Array<{ hexa_skill_id: string; }>; }>; character_hexa_matrix_preset_3: Array<{ hexa_core_name: string; hexa_core_level: number; hexa_core_type: string; linked_skill: Array<{ hexa_skill_id: string; }>; }>; } export interface HexaMatrixStat { date: string; character_class: string; character_hexa_stat_core: Array<{ slot_id: string; main_stat_name: string; sub_stat_name_1: string; sub_stat_name_2: string; main_stat_level: number; sub_stat_level_1: number; sub_stat_level_2: number; stat_grade: number; }>; preset_hexa_stat_core: Array<{ slot_id: string; main_stat_name: string; sub_stat_name_1: string; sub_stat_name_2: string; main_stat_level: number; sub_stat_level_1: number; sub_stat_level_2: number; stat_grade: number; }>; } export interface DojangRecord { date: string; character_class: string; world_name: string; dojang_best_floor: number; date_dojang_record: string; dojang_best_time: number; } export interface UnionArtifact { date: string; union_artifact_effect: Array<{ name: string; level: number; }>; union_artifact_crystal: Array<{ name: string; validity_flag: string; date_expire: string; level: number; crystal_option_name_1: string; crystal_option_name_2: string; crystal_option_name_3: string; }>; union_artifact_remain_ap: number; } export interface DojangRanking extends BaseApiResponse { ranking: Array<{ date: string; ranking: number; character_name: string; world_name: string; class_name: string; sub_class_name: string; character_level: number; dojang_floor: number; dojang_time_record: number; }>; } export interface TheSeedRanking extends BaseApiResponse { ranking: Array<{ date: string; ranking: number; character_name: string; world_name: string; class_name: string; sub_class_name: string; character_level: number; theseed_floor: number; theseed_time_record: number; }>; } export interface AchievementRanking extends BaseApiResponse { ranking: Array<{ date: string; ranking: number; character_name: string; world_name: string; class_name: string; sub_class_name: string; trophy_point: number; trophy_grade: string; }>; } export type CharacterInfo = CharacterBasic & CharacterStat & CharacterHyperStat & CharacterPropensity & CharacterAbility; export type EquipmentInfo = ItemEquipment; export type RankingInfo = OverallRanking | UnionRanking | GuildRanking | DojangRanking | TheSeedRanking | AchievementRanking; //# sourceMappingURL=types.d.ts.map