DevGlobe
The open-source talent graph for humans and AI agents. Find developers.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"devglobe": {
"url": "https://www.devglobe.dev/mcp"
}
}
}遠端端點
https://www.devglobe.dev/mcpstreamable-http它能做什麼
工具清單
工具(8)
🟢search_developers(query, location, language, opportunityType, availableForAgents, ...)
Use when the user wants to find public developers by skill, name, language, location, agent availability, or active opportunity intent. Start discovery here; no authentication is required. Example: {"query":"TypeScript maintainers","location":"Germany","availableForAgents":true,"limit":5}.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Required natural-language public search intent, such as \"TypeScript maintainers\" or a developer name"
},
"location": {
"description": "Optional public location text, such as \"Germany\" or \"Colombo\"",
"type": "string",
"maxLength": 100
},
"language": {
"description": "Optional primary programming language, such as \"TypeScript\"",
"type": "string",
"maxLength": 50
},
"opportunityType": {
"description": "Optional active self-declared opportunity type; do not infer availability",
"type": "string",
"enum": [
"employment",
"contract",
"open-source",
"speaking",
"mentoring"
]
},
"availableForAgents": {
"default": false,
"description": "Set true only when the user needs profiles accepting verified agent requests",
"type": "boolean"
},
"limit": {
"default": 10,
"description": "Maximum results from 1 to 20",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}輸出結構描述
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"profileUrl": {
"type": "string",
"format": "uri"
},
"location": {
"type": "string"
},
"topLanguage": {
"type": "string"
},
"score": {
"type": "number"
},
"globalRank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"whyMatched": {
"type": "array",
"items": {
"type": "string"
}
},
"match": {
"type": "object",
"properties": {
"score": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"label": {
"type": "string",
"enum": [
"Strong match",
"Good match",
"Related match"
]
},
"reasons": {
"maxItems": 3,
"type": "array",
"items": {
"type": "string"
}
},
"signals": {
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"semantic"
]
}
},
"method": {
"type": "string",
"enum": [
"text",
"semantic",
"hybrid"
]
},
"disclaimer": {
"type": "string"
}
},
"required": [
"score",
"label",
"reasons",
"signals",
"method",
"disclaimer"
],
"additionalProperties": false
},
"publicEvidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"dataFreshness": {
"type": "object",
"properties": {
"updatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"reported",
"unknown"
]
}
},
"required": [
"updatedAt",
"status"
],
"additionalProperties": false
},
"availableForAgents": {
"type": "boolean"
},
"opportunityPreferences": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"const": true
},
"types": {
"type": "array",
"items": {
"type": "string",
"enum": [
"employment",
"contract",
"open-source",
"speaking",
"mentoring"
]
}
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"locations": {
"type": "array",
"items": {
"type": "string"
}
},
"workModes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"remote",
"hybrid",
"onsite"
]
}
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"source": {
"type": "string",
"const": "self-declared"
}
},
"required": [
"enabled",
"types",
"roles",
"locations",
"workModes",
"expiresAt",
"source"
],
"additionalProperties": false
},
"methodologyDisclaimer": {
"type": "string"
}
},
"required": [
"login",
"name",
"profileUrl",
"whyMatched",
"publicEvidence",
"dataFreshness",
"availableForAgents",
"methodologyDisclaimer"
],
"additionalProperties": false
}
},
"resultCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"methodologyDisclaimer": {
"type": "string"
}
},
"required": [
"results",
"resultCount",
"methodologyDisclaimer"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_developer_profile(login)
Use when the user names a GitHub login or selects one DevGlobe search result and needs its public profile and contribution evidence. No authentication is required. Example: {"login":"sajeetharan"}.
輸入結構描述
{
"type": "object",
"properties": {
"login": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"description": "GitHub login"
}
},
"required": [
"login"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}輸出結構描述
{
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"profileUrl": {
"type": "string",
"format": "uri"
},
"location": {
"type": "string"
},
"topLanguage": {
"type": "string"
},
"score": {
"type": "number"
},
"globalRank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"whyMatched": {
"type": "array",
"items": {
"type": "string"
}
},
"match": {
"type": "object",
"properties": {
"score": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"label": {
"type": "string",
"enum": [
"Strong match",
"Good match",
"Related match"
]
},
"reasons": {
"maxItems": 3,
"type": "array",
"items": {
"type": "string"
}
},
"signals": {
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"semantic"
]
}
},
"method": {
"type": "string",
"enum": [
"text",
"semantic",
"hybrid"
]
},
"disclaimer": {
"type": "string"
}
},
"required": [
"score",
"label",
"reasons",
"signals",
"method",
"disclaimer"
],
"additionalProperties": false
},
"publicEvidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"dataFreshness": {
"type": "object",
"properties": {
"updatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"reported",
"unknown"
]
}
},
"required": [
"updatedAt",
"status"
],
"additionalProperties": false
},
"availableForAgents": {
"type": "boolean"
},
"opportunityPreferences": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"const": true
},
"types": {
"type": "array",
"items": {
"type": "string",
"enum": [
"employment",
"contract",
"open-source",
"speaking",
"mentoring"
]
}
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"locations": {
"type": "array",
"items": {
"type": "string"
}
},
"workModes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"remote",
"hybrid",
"onsite"
]
}
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"source": {
"type": "string",
"const": "self-declared"
}
},
"required": [
"enabled",
"types",
"roles",
"locations",
"workModes",
"expiresAt",
"source"
],
"additionalProperties": false
},
"methodologyDisclaimer": {
"type": "string"
}
},
"required": [
"login",
"name",
"profileUrl",
"whyMatched",
"publicEvidence",
"dataFreshness",
"availableForAgents",
"methodologyDisclaimer"
],
"additionalProperties": false
},
"methodologyDisclaimer": {
"type": "string"
}
},
"required": [
"profile",
"methodologyDisclaimer"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢find_similar_developers(login, limit)
Use when the user wants alternatives similar to a known GitHub login. Similarity uses public repository, language, location, and profile signals and is not a suitability judgment. Example: {"login":"sajeetharan","limit":5}.
輸入結構描述
{
"type": "object",
"properties": {
"login": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"description": "GitHub login of the source profile"
},
"limit": {
"default": 10,
"description": "Maximum similar profiles from 1 to 20",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"login"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}輸出結構描述
{
"type": "object",
"properties": {
"source": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"profileUrl": {
"type": "string",
"format": "uri"
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"topLanguage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"similarity": {
"type": "string",
"enum": [
"Very similar",
"Similar",
"Related"
]
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"login",
"name",
"profileUrl",
"location",
"topLanguage",
"score",
"similarity",
"reasons"
],
"additionalProperties": false
}
},
"resultCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"methodologyDisclaimer": {
"type": "string"
}
},
"required": [
"source",
"results",
"resultCount",
"methodologyDisclaimer"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢match_developers_to_repository(repository, limit)
Use when the user starts with a public GitHub repository and wants relevant indexed developers. Matches public owner, contribution, language, topic, repository, and self-declared opportunity signals; this is not a suitability judgment. Example: {"repository":"owner/repo","limit":10}.
輸入結構描述
{
"type": "object",
"properties": {
"repository": {
"type": "string",
"minLength": 3,
"maxLength": 141,
"description": "Public GitHub repository as owner/repository or a github.com URL"
},
"limit": {
"default": 10,
"description": "Maximum matches from 1 to 20",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"repository"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}輸出結構描述
{
"type": "object",
"properties": {
"repository": {
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"name": {
"type": "string"
},
"fullName": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"stars": {
"type": "number",
"minimum": 0
},
"contributorCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"owner",
"name",
"fullName",
"url",
"description",
"language",
"topics",
"stars",
"contributorCount"
],
"additionalProperties": false
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"profileUrl": {
"type": "string",
"format": "uri"
},
"location": {
"type": "string"
},
"topLanguage": {
"type": "string"
},
"score": {
"type": "number"
},
"globalRank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"whyMatched": {
"type": "array",
"items": {
"type": "string"
}
},
"match": {
"type": "object",
"properties": {
"score": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"label": {
"type": "string",
"enum": [
"Strong match",
"Good match",
"Related match"
]
},
"reasons": {
"maxItems": 3,
"type": "array",
"items": {
"type": "string"
}
},
"signals": {
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"semantic"
]
}
},
"method": {
"type": "string",
"enum": [
"text",
"semantic",
"hybrid"
]
},
"disclaimer": {
"type": "string"
}
},
"required": [
"score",
"label",
"reasons",
"signals",
"method",
"disclaimer"
],
"additionalProperties": false
},
"publicEvidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"dataFreshness": {
"type": "object",
"properties": {
"updatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"reported",
"unknown"
]
}
},
"required": [
"updatedAt",
"status"
],
"additionalProperties": false
},
"availableForAgents": {
"type": "boolean"
},
"opportunityPreferences": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"const": true
},
"types": {
"type": "array",
"items": {
"type": "string",
"enum": [
"employment",
"contract",
"open-source",
"speaking",
"mentoring"
]
}
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"locations": {
"type": "array",
"items": {
"type": "string"
}
},
"workModes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"remote",
"hybrid",
"onsite"
]
}
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"source": {
"type": "string",
"const": "self-declared"
}
},
"required": [
"enabled",
"types",
"roles",
"locations",
"workModes",
"expiresAt",
"source"
],
"additionalProperties": false
},
"methodologyDisclaimer": {
"type": "string"
}
},
"required": [
"login",
"name",
"profileUrl",
"whyMatched",
"publicEvidence",
"dataFreshness",
"availableForAgents",
"methodologyDisclaimer"
],
"additionalProperties": false
}
},
"resultCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"methodologyDisclaimer": {
"type": "string"
}
},
"required": [
"repository",
"results",
"resultCount",
"methodologyDisclaimer"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_trending_developers(days, limit)
Use when recency or momentum matters. Lists public score gainers and high-ranking profiles new to impact tracking; do not use as a hiring recommendation. Example: {"days":30,"limit":10}.
輸入結構描述
{
"type": "object",
"properties": {
"days": {
"default": 30,
"description": "Trend window from 1 to 90 days",
"type": "integer",
"minimum": 1,
"maximum": 90
},
"limit": {
"default": 10,
"description": "Maximum gainers and new entries from 1 to 20 each",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}輸出結構描述
{
"type": "object",
"properties": {
"windowDays": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"generatedAt": {
"type": "string"
},
"gainers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"profileUrl": {
"type": "string",
"format": "uri"
},
"topLanguage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"score": {
"type": "number"
},
"globalRank": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"scoreDelta": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"rankDelta": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"isNew": {
"type": "boolean"
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"login",
"name",
"profileUrl",
"topLanguage",
"score",
"globalRank",
"scoreDelta",
"rankDelta",
"isNew",
"indicator"
],
"additionalProperties": false
}
},
"newEntries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"profileUrl": {
"type": "string",
"format": "uri"
},
"topLanguage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"score": {
"type": "number"
},
"globalRank": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"scoreDelta": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"rankDelta": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"isNew": {
"type": "boolean"
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"login",
"name",
"profileUrl",
"topLanguage",
"score",
"globalRank",
"scoreDelta",
"rankDelta",
"isNew",
"indicator"
],
"additionalProperties": false
}
},
"hasHistory": {
"type": "boolean"
},
"resultCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"methodologyDisclaimer": {
"type": "string"
}
},
"required": [
"windowDays",
"gainers",
"newEntries",
"hasHistory",
"resultCount",
"methodologyDisclaimer"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢preview_contribution_mission(login)
Use when the user wants one concrete open-source contribution opportunity for an indexed GitHub login. Read-only, rate limited, and does not reserve the issue. Example: {"login":"sajeetharan"}.
輸入結構描述
{
"type": "object",
"properties": {
"login": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"description": "Public GitHub login already indexed by DevGlobe"
}
},
"required": [
"login"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}輸出結構描述
{
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"avatarUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"login",
"name",
"avatarUrl"
],
"additionalProperties": false
},
"mission": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"durationMinutes": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"opportunity": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"repository": {
"type": "string"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"updatedAt": {
"type": "string"
},
"estimatedMinutes": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"title",
"url",
"repository",
"language",
"labels",
"updatedAt",
"estimatedMinutes",
"reasons"
],
"additionalProperties": false
}
},
"required": [
"type",
"durationMinutes",
"opportunity"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"resultCount": {
"type": "integer",
"minimum": 0,
"maximum": 1
},
"reservationDisclaimer": {
"type": "string"
}
},
"required": [
"profile",
"mission",
"resultCount",
"reservationDisclaimer"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪request_introduction(developerLogin, reason, project)
Use only after the user explicitly asks to contact an opted-in developer. Requires a bearer token, creates a consent-gated pending request, and never returns private contact details. Example: {"developerLogin":"octocat","reason":"We would like help maintaining our open-source React library.","project":"Example UI"}.
輸入結構描述
{
"type": "object",
"properties": {
"developerLogin": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"description": "GitHub login selected by the user"
},
"reason": {
"type": "string",
"minLength": 20,
"maxLength": 1000,
"description": "Specific collaboration reason of at least 20 characters"
},
"project": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Project or organization name"
}
},
"required": [
"developerLogin",
"reason",
"project"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_introduction_status(id, developerLogin)
Use after request_introduction to check a request created by the same authenticated agent. An accepted request returns only the public GitHub contact route.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"developerLogin": {
"type": "string",
"minLength": 1,
"maxLength": 39
}
},
"required": [
"id",
"developerLogin"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}社群
證據