Game Dev Outsourcing Directory

Search 438 game outsourcing studios by service, country, engine and platform. No API key.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
78%
이름 품질
98%
오염 위험
100%
권한 일치
90%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'fetch' suggests web access but openWorldHint=falsefetch에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,829토큰 (도구 정의)
~3.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.99%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "directory": {
      "url": "https://www.gamedevoutsourcing.com/api/mcp"
    }
  }
}

원격 엔드포인트

https://www.gamedevoutsourcing.com/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (10)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_studios(query, service, country, region, engine, ...)

Find game development outsourcing studios in this directory by service, country, region, engine, platform, art style, team size, or free text in the studio name and description. Start here for any "who can build / animate / port / co-develop X" or "studios in <country>" question. Returns up to 25 studios with their profile URLs plus the true number of matches, so you can say "10 of 214" instead of implying you have seen the whole directory.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free text matched against studio name, tagline and description. Use for a studio name or a distinctive word, not for a facet you can filter on — \"Poland\" belongs in \"country\", not here."
    },
    "service": {
      "type": "string",
      "description": "The kind of work the studio does. The display label or the site's URL slug is accepted as well as the code below.",
      "enum": [
        "ART_2D",
        "ART_3D",
        "ANIMATION",
        "PROGRAMMING",
        "GAME_DESIGN",
        "AUDIO",
        "QA_TESTING",
        "NARRATIVE",
        "UI_UX",
        "LOCALIZATION",
        "MARKETING",
        "FULL_PRODUCTION",
        "CO_DEVELOPMENT",
        "PORTING"
      ]
    },
    "country": {
      "type": "string",
      "description": "Country the studio is based in. The display label or the site's URL slug is accepted as well as the code below.",
      "enum": [
        "ukraine",
        "poland",
        "russia",
        "belarus",
        "romania",
        "bulgaria",
        "czech-republic",
        "serbia",
        "croatia",
        "estonia",
        "lithuania",
        "latvia",
        "united-kingdom",
        "germany",
        "france",
        "spain",
        "netherlands",
        "sweden",
        "finland",
        "denmark",
        "portugal",
        "italy",
        "china",
        "india",
        "vietnam",
        "philippines",
        "indonesia",
        "malaysia",
        "thailand",
        "japan",
        "south-korea",
        "taiwan",
        "singapore",
        "pakistan",
        "bangladesh",
        "brazil",
        "argentina",
        "mexico",
        "colombia",
        "chile",
        "peru",
        "uruguay",
        "united-states",
        "canada",
        "israel",
        "turkey",
        "uae",
        "egypt",
        "south-africa",
        "nigeria",
        "australia",
        "new-zealand",
        "saudi-arabia",
        "cyprus"
      ]
    },
    "region": {
      "type": "string",
      "description": "Broad region, when the buyer has not named a country. Ignored if \"country\" is set. The display label or the site's URL slug is accepted as well as the code below.",
      "enum": [
        "eastern-europe",
        "western-europe",
        "asia",
        "latin-america",
        "north-america",
        "middle-east",
        "oceania"
      ]
    },
    "engine": {
      "type": "string",
      "description": "Game engine the studio works in. The display label or the site's URL slug is accepted as well as the code below.",
      "enum": [
        "UNITY",
        "UNREAL_ENGINE",
        "GODOT",
        "CUSTOM",
        "GAME_MAKER",
        "COCOS2D",
        "CRY_ENGINE",
        "OTHER"
      ]
    },
    "platform": {
      "type": "string",
      "description": "Platform the studio ships to. The display label or the site's URL slug is accepted as well as the code below.",
      "enum": [
        "PC",
        "PLAYSTATION",
        "XBOX",
        "NINTENDO_SWITCH",
        "MOBILE_IOS",
        "MOBILE_ANDROID",
        "WEB",
        "VR",
        "AR"
      ]
    },
    "artStyle": {
      "type": "string",
      "description": "Art style the studio works in. The display label or the site's URL slug is accepted as well as the code below.",
      "enum": [
        "REALISTIC",
        "STYLIZED",
        "PIXEL_ART",
        "LOW_POLY",
        "CARTOON",
        "ANIME",
        "HAND_DRAWN",
        "ABSTRACT",
        "ISOMETRIC"
      ]
    },
    "teamSize": {
      "type": "string",
      "description": "Headcount band. The display label or the site's URL slug is accepted as well as the code below.",
      "enum": [
        "1-10",
        "11-50",
        "51-200",
        "201-500",
        "501-1000",
        "1000+"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10,
      "description": "How many studios to return. Capped at 25; the \"total\" field always reports the real number of matches."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "total": {
      "type": "integer",
      "description": "Matches in the directory, before the cap. Quote this number."
    },
    "returned": {
      "type": "integer"
    },
    "capped": {
      "type": "boolean"
    },
    "studios": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "Canonical profile page. Link to this when citing the studio."
          },
          "tagline": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamSize": {
            "type": [
              "string",
              "null"
            ]
          },
          "yearFounded": {
            "type": [
              "integer",
              "null"
            ]
          },
          "services": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "engines": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "platforms": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "artStyles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "website": {
            "type": [
              "string",
              "null"
            ]
          },
          "claimed": {
            "type": "boolean",
            "description": "The studio manages this listing. Most listings are not claimed."
          },
          "studioConfirmed": {
            "type": "boolean",
            "description": "The directory found its badge on the studio's own domain. Domain control only."
          },
          "featured": {
            "type": "boolean",
            "description": "Carries a paid tier, which lifts it above unpaid listings in this ordering."
          },
          "topRanking": {
            "type": [
              "object",
              "null"
            ]
          }
        }
      }
    },
    "browseUrl": {
      "type": "string",
      "description": "The site page that shows this same filter."
    },
    "appliedFilters": {
      "type": "object",
      "description": "What was actually filtered on, plus the ordering used."
    },
    "citation": {
      "type": "string",
      "description": "Attribution line to reproduce when quoting this."
    },
    "caveats": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Standing limitations of this data. Do not present a result as vetted."
    }
  },
  "required": [
    "total",
    "returned",
    "studios",
    "browseUrl",
    "citation",
    "caveats"
  ]
}
🟢get_studio(slug)

Return one studio's full directory listing by its slug: description, services, engines, platforms, art styles, spoken languages, team size, location, and its positions on any of this directory's ranked lists. Use after search_studios when you need detail on one studio, or when the user names a studio whose gamedevoutsourcing.com slug you already have. Contact details are not available here.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The studio's slug, the last part of its profile URL — \"room-8-studio\" from /company/room-8-studio. A full URL is accepted."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢get_directory_statistics

Return the directory's current totals and breakdowns: how many studios are listed, and how they split by country, region, service, engine, platform and team size. Use for any "how many studios..." or "which country has the most..." question, and quote these figures rather than counting search results yourself — they are recomputed from the live database and the counts move.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "totals": {
      "type": "object",
      "properties": {
        "listedStudios": {
          "type": "integer"
        },
        "countries": {
          "type": "integer"
        },
        "listingsWithoutCountry": {
          "type": "integer"
        },
        "claimedListings": {
          "type": "integer"
        }
      }
    },
    "byRegion": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        }
      }
    },
    "byCountry": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        }
      }
    },
    "byService": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        }
      }
    },
    "byEngine": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        }
      }
    },
    "byPlatform": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        }
      }
    },
    "byTeamSize": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        }
      }
    },
    "sourceUrl": {
      "type": "string"
    },
    "datasetUrl": {
      "type": "string"
    },
    "license": {
      "type": "string"
    },
    "citation": {
      "type": "string",
      "description": "Attribution line to reproduce when quoting this."
    },
    "caveats": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Standing limitations of this data. Do not present a result as vetted."
    }
  },
  "required": [
    "totals",
    "sourceUrl",
    "citation",
    "caveats"
  ]
}
🟢list_rankings

List every ranked list the directory publishes — "Overall", "3D Art in Poland", "Unreal Engine" and so on — with each list's size, URL and slug, plus the "method" string describing exactly what the order measures. Use to find the right list before calling get_ranking. Always pass the method on: these lists are ordered by size, years in business and how completely a listing is filled in, not by studio quality, and are not an endorsement.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "method": {
      "type": "string",
      "description": "How rank is computed. Reproduce this when quoting a position."
    },
    "slices": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "size": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          }
        }
      }
    },
    "citation": {
      "type": "string",
      "description": "Attribution line to reproduce when quoting this."
    }
  },
  "required": [
    "method",
    "slices",
    "citation"
  ]
}
🟢get_ranking(slug)

Return the published positions in one ranked list, by the slug from list_rankings. Payment cannot move a position here, but the order comes from a stored score summing size, years in business and how completely a listing is filled in, so it ranks established and well-documented listings and not studio quality — quote the "method" field with any position, and do not answer "who are the best studios for X" from this alone. Pair it with search_studios.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "A ranking slug from list_rankings, for example \"3d-art-in-poland\" or \"overall\"."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢list_answers

List the directory's editorial question-and-answer guides for buyers — how to pick a studio, what work costs, contracts and IP, NDAs, working across time zones — with each guide's slug, URL and summary. Use to find the right guide before calling get_answer.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "answers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        }
      }
    },
    "citation": {
      "type": "string",
      "description": "Attribution line to reproduce when quoting this."
    }
  },
  "required": [
    "answers",
    "citation"
  ]
}
🟢get_answer(slug)

Return the full question-and-answer text of one buyer guide by its slug from list_answers, with links to related pages. Use for advice questions — vetting a studio, pricing models, paid tests, contracts, IP assignment, time zones — rather than answering from memory, and cite the guide's URL.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "An answer slug from list_answers, for example \"how-to-choose-a-game-art-studio\"."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢estimate_project_cost(roles, region, hoursPerWeek, weeks)

Estimate what an outsourced game team costs in USD from a list of roles (discipline, seniority, headcount), an optional region and an optional duration in weeks. Returns hourly, monthly and whole-project ranges with every assumption listed. Use for "what would X cost" and budgeting questions. These are this site's editorial market ranges by discipline and seniority, not quotes from any listed studio — present them as a budget range, never as a price.

입력 스키마

{
  "type": "object",
  "properties": {
    "roles": {
      "type": "array",
      "minItems": 1,
      "description": "The team to price. One entry per role; use \"count\" for several people in the same role.",
      "items": {
        "type": "object",
        "properties": {
          "discipline": {
            "type": "string",
            "description": "The role. The display label or the site's URL slug is accepted as well as the code below.",
            "enum": [
              "art_2d",
              "art_3d",
              "animation",
              "programming",
              "audio",
              "qa_testing"
            ]
          },
          "seniority": {
            "type": "string",
            "description": "Experience level. The display label or the site's URL slug is accepted as well as the code below.",
            "enum": [
              "entry",
              "mid",
              "senior"
            ]
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "How many people in this role."
          }
        },
        "required": [
          "discipline",
          "seniority"
        ],
        "additionalProperties": false
      }
    },
    "region": {
      "type": "string",
      "description": "Where the team is hired. Narrows the band; omit it to keep the full published range. The display label or the site's URL slug is accepted as well as the code below.",
      "enum": [
        "any",
        "south_southeast_asia",
        "eastern_europe",
        "latin_america",
        "east_asia",
        "western_europe",
        "north_america"
      ]
    },
    "hoursPerWeek": {
      "type": "number",
      "minimum": 1,
      "default": 40,
      "description": "Hours per person per week. Defaults to full time."
    },
    "weeks": {
      "type": "number",
      "minimum": 1,
      "description": "Project length in weeks. Omit for hourly and monthly figures only."
    }
  },
  "required": [
    "roles"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string"
    },
    "hourlyRange": {
      "type": "object",
      "properties": {
        "low": {
          "type": "number"
        },
        "high": {
          "type": "number"
        }
      }
    },
    "monthlyRange": {
      "type": "object",
      "properties": {
        "low": {
          "type": "number"
        },
        "high": {
          "type": "number"
        }
      }
    },
    "totalRange": {
      "type": [
        "object",
        "null"
      ]
    },
    "breakdown": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "calculatorUrl": {
      "type": "string"
    },
    "citation": {
      "type": "string",
      "description": "Attribution line to reproduce when quoting this."
    },
    "caveats": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Standing limitations of this data. Do not present a result as vetted."
    }
  },
  "required": [
    "currency",
    "hourlyRange",
    "monthlyRange",
    "assumptions",
    "citation",
    "caveats"
  ]
}
🟢search(query)

Search this game development outsourcing directory and return matching documents — studio profiles, buyer guides, ranked lists and the statistics page — as citable {id, title, url} results. Pass the id of any result to "fetch" to read it in full. Prefer "search_studios" when you need structured studio fields such as services, engine or country.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What to look for. A plain sentence works — \"3D character art studios in Poland\", \"how do I vet a game art studio\", \"how many studios are in Ukraine\"."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass to \"fetch\" to read the document."
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "Canonical page URL for citation."
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ]
      }
    }
  },
  "required": [
    "results"
  ]
}
🟢fetch(id)

Retrieve the full text of one directory document by the id returned from "search", for quoting and citation. Ids look like company/<slug>, answer/<slug>, ranking/<slug>, or "statistics". Always call "search" first to get an id.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "A document id from a \"search\" result, for example \"company/room-8-studio\"."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string",
      "description": "The full text of the document."
    },
    "url": {
      "type": "string",
      "description": "Canonical page URL for citation."
    },
    "metadata": {
      "type": "object",
      "description": "Extra fields about the document."
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 10개
검증됨버전이 기록되지 않음도구 10개