maplestory-mcp-server
Version:
Official-style NEXON MapleStory MCP Server for Claude Desktop - Complete character info, union details, guild data, rankings, and game mechanics
421 lines • 11.4 kB
TypeScript
/**
* TypeScript interfaces for NEXON MapleStory Open API
* Based on official NEXON Open API documentation
*/
export interface BaseApiResponse {
count?: number;
}
export interface ApiError {
error: {
name: string;
message: 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 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;
}
export interface PaginationParams {
count?: number;
page?: number;
}
export interface DateParam {
date?: string;
}
export type CharacterInfo = CharacterBasic & CharacterStat & CharacterHyperStat & CharacterPropensity & CharacterAbility;
export type EquipmentInfo = ItemEquipment;
export type RankingInfo = OverallRanking | UnionRanking | GuildRanking;
//# sourceMappingURL=types.d.ts.map