Good Grants MCP by usefulapi
Read applications, rounds, funds and leaderboards; tag applications in Good Grants.
使うべきか
品質と安全性
検出事項(1)
- LOWgoodgrants_list_allocation_payments 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"good-grants": {
"url": "https://good-grants.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://good-grants.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(20)
🟢goodgrants_get_account
Get the Good Grants account for the API key: name, region, default language and identifiers.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_seasons(order, dir, page, per_page)
List grant seasons (funding cycles) in the account.
入力スキーマ
{
"type": "object",
"properties": {
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"created",
"name",
"status",
"updated"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_chapters(status, season, order, dir, page, ...)
List chapters (programme sections of a season). Filter by status or season.
入力スキーマ
{
"type": "object",
"properties": {
"status": {
"description": "Chapter status.",
"type": "string",
"enum": [
"active",
"inactive"
]
},
"season": {
"description": "Season slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"created",
"name",
"season",
"status",
"updated"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_forms(form_type, season, archived, order, dir, ...)
List application and report forms. Filter by form type or season.
入力スキーマ
{
"type": "object",
"properties": {
"form_type": {
"description": "Form type.",
"type": "string",
"enum": [
"application",
"report"
]
},
"season": {
"description": "Season slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"archived": {
"description": "Archived records: only, all or none.",
"type": "string",
"enum": [
"only",
"all",
"none"
]
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"callToAction",
"chapter_option",
"content_block",
"created",
"name",
"season"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_get_form(form_slug)
Get one form by slug.
入力スキーマ
{
"type": "object",
"properties": {
"form_slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Form slug."
}
},
"required": [
"form_slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_rounds(type, form, season, slug, order, ...)
List rounds (application, reviewer or feedback periods) with their open and close dates.
入力スキーマ
{
"type": "object",
"properties": {
"type": {
"description": "Round type.",
"type": "string",
"enum": [
"application",
"reviewer",
"feedback"
]
},
"form": {
"description": "Form slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"season": {
"description": "Season slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"slug": {
"description": "Round slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"created",
"end_date",
"name",
"start_date",
"type",
"updated"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_get_round(round_slug)
Get one round by slug.
入力スキーマ
{
"type": "object",
"properties": {
"round_slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Round slug."
}
},
"required": [
"round_slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_categories(status, chapter, form, parent, season, ...)
List categories (grant streams). Filter by status, chapter, form or season.
入力スキーマ
{
"type": "object",
"properties": {
"status": {
"description": "Category status.",
"type": "string",
"enum": [
"active",
"inactive"
]
},
"chapter": {
"description": "Chapter slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"form": {
"description": "Form slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"parent": {
"description": "Parent category slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"season": {
"description": "Season slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"chapter_count",
"created",
"divisions",
"application_count",
"form",
"name"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_applications(status, moderation, payment_status, category, chapter, ...)
List grant applications. Filter by status, moderation, payment, category, chapter, form, season or title.
入力スキーマ
{
"type": "object",
"properties": {
"status": {
"description": "Application status.",
"type": "string",
"enum": [
"submitted",
"in_progress",
"resubmission_required",
"resubmitted"
]
},
"moderation": {
"description": "Moderation decision.",
"type": "string",
"enum": [
"approved",
"undecided",
"rejected"
]
},
"payment_status": {
"description": "Application fee status.",
"type": "string",
"enum": [
"paid",
"awaiting_payment"
]
},
"category": {
"description": "Category slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"chapter": {
"description": "Chapter slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"form": {
"description": "Form slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"season": {
"description": "Season slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"title": {
"description": "Filter by application title.",
"type": "string",
"maxLength": 200
},
"archived": {
"description": "Archived records: only, all or none.",
"type": "string",
"enum": [
"only",
"all",
"none"
]
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"category",
"chapter",
"applicant",
"local_id",
"parent_category",
"title"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_get_application(application_slug)
Get one grant application by slug, with its field values and status.
入力スキーマ
{
"type": "object",
"properties": {
"application_slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Application slug."
}
},
"required": [
"application_slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_assignments(status, reviewer, category, chapter, score_set, ...)
List reviewer assignments. Filter by status, reviewer, category, chapter, score set or season.
入力スキーマ
{
"type": "object",
"properties": {
"status": {
"description": "Assignment status.",
"type": "string",
"enum": [
"none",
"in_progress",
"complete",
"abstained"
]
},
"reviewer": {
"description": "Reviewer user slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"category": {
"description": "Category slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"chapter": {
"description": "Chapter slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"score_set": {
"description": "Score set slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"season": {
"description": "Season slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"method": {
"description": "Assignment method.",
"type": "string",
"enum": [
"automatic",
"manual",
"random",
"stray",
"recused"
]
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"method",
"status",
"updated"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_score_sets(mode, form, season, order, dir, ...)
List score sets (scoring, voting, top pick and other review modes).
入力スキーマ
{
"type": "object",
"properties": {
"mode": {
"description": "Score set mode.",
"type": "string",
"enum": [
"qualifying",
"top_pick",
"scoring",
"voting",
"gallery"
]
},
"form": {
"description": "Form slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"season": {
"description": "Season slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"created",
"mode",
"name",
"updated"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"archived": {
"description": "Archived records: only, all or none.",
"type": "string",
"enum": [
"only",
"all",
"none"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_leaderboard(score_set, category, chapter, application, tag, ...)
List leaderboard results (ranked scores) for one score set. The score set slug is required.
入力スキーマ
{
"type": "object",
"properties": {
"score_set": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Score set slug (required)."
},
"category": {
"description": "Category slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"chapter": {
"description": "Chapter slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"application": {
"description": "Application slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"tag": {
"description": "Application tag.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"archived": {
"description": "Archived records: only, all or none.",
"type": "string",
"enum": [
"only",
"all",
"none"
]
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"category",
"chapter",
"division",
"link",
"slug",
"status"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"score_set"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_funds(slug, order, dir, page, per_page)
List funds (budgets) with their allocated and available amounts.
入力スキーマ
{
"type": "object",
"properties": {
"slug": {
"description": "Fund slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"allocated",
"available",
"budget",
"created",
"currency",
"name"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_get_fund(fund_slug)
Get one fund by slug.
入力スキーマ
{
"type": "object",
"properties": {
"fund_slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Fund slug."
}
},
"required": [
"fund_slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_allocations(slug, order, dir, page, per_page)
List grant allocations (awarded amounts). Filter by slug.
入力スキーマ
{
"type": "object",
"properties": {
"slug": {
"description": "Allocation slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"amount",
"created",
"currency",
"paid",
"slug",
"updated"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_allocation_payments(order, dir, page, per_page)
List payments made against grant allocations, with due and paid dates.
入力スキーマ
{
"type": "object",
"properties": {
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"amount",
"created",
"currency",
"date_due",
"date_paid",
"external_id"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goodgrants_list_users(role, confirmation, language, order, dir, ...)
List users (applicants, reviewers and admins) with their role and confirmation status.
入力スキーマ
{
"type": "object",
"properties": {
"role": {
"description": "User role slug.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"confirmation": {
"description": "Account confirmation status.",
"type": "string",
"enum": [
"confirmed",
"pending"
]
},
"language": {
"description": "Language code, for example en_GB.",
"type": "string",
"maxLength": 20
},
"order": {
"description": "Sort field.",
"type": "string",
"enum": [
"confirmed_at",
"created_at",
"created_by",
"email",
"first_name",
"last_name"
]
},
"dir": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Records per page, 1 to 100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡goodgrants_tag_application(application_slug, tags)
Add tags to a grant application. Needs a Read / Write API key; a Read only key is refused with HTTP 403. Adding a tag twice is safe.
入力スキーマ
{
"type": "object",
"properties": {
"application_slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Application slug."
},
"tags": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[^,/]+$"
},
"description": "Tag names to change. A tag cannot contain a comma or a forward slash."
}
},
"required": [
"application_slug",
"tags"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴goodgrants_untag_application(application_slug, tags)
Remove tags from a grant application. Needs a Read / Write API key; a Read only key is refused with HTTP 403. Tags not on the application are ignored.
入力スキーマ
{
"type": "object",
"properties": {
"application_slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Application slug."
},
"tags": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[^,/]+$"
},
"description": "Tag names to change. A tag cannot contain a comma or a forward slash."
}
},
"required": [
"application_slug",
"tags"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス