chore: publish clean community baseline
Deploy / deploy (push) Successful in 2m51s
CI / Rust Checks (push) Successful in 5m52s
CI / UI Checks (push) Successful in 6s
CI / Deployment Manifests (push) Successful in 3s
CI / Frontend E2E (push) Successful in 4m26s

This commit is contained in:
github-ops
2026-06-17 06:15:46 +00:00
commit b1d956970a
317 changed files with 73562 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Примеры Frankfurter
В этой папке лежат примеры операций Crank для публичного API Frankfurter. Это бесплатный API курсов валют без ключей доступа.
Публичный адрес API: `https://api.frankfurter.dev`.
## Группа “Курсы валют”
- `rates/frankfurter_latest_rate.operation.yaml` получает последний доступный курс для пары валют.
- `rates/frankfurter_provider_rate.operation.yaml` получает курс от конкретного поставщика данных, например `ECB`.
## Группа “История курсов”
- `history/frankfurter_historical_rate.operation.yaml` получает курс валюты на конкретную дату.
- `history/frankfurter_monthly_rates.operation.yaml` получает месячную динамику курса за период.
## Как использовать в демо
1. Импортируйте нужные YAML-файлы в Crank.
2. Запустите тест операции. Ключи и секреты не нужны.
3. Создайте агента для одной группы операций.
4. Опубликуйте агента и подключите MCP-клиент к его endpoint.
Документация Frankfurter: https://frankfurter.dev/
@@ -0,0 +1,113 @@
format_version: "1"
kind: operation
operation:
id: op_frankfurter_historical_rate
name: frankfurter_historical_rate
display_name: Исторический курс валюты
category: frankfurter_history
protocol: rest
security_level: standard
enabled: true
status: draft
version: 1
target:
kind: rest
base_url: https://api.frankfurter.dev
method: GET
path_template: /v2/rates
static_headers:
Accept: application/json
input_schema:
type: object
required: true
fields:
date:
type: string
required: true
base:
type: string
required: true
quote:
type: string
required: true
output_schema:
type: object
required: true
fields:
date:
type: string
required: true
base:
type: string
required: true
quote:
type: string
required: true
rate:
type: number
required: true
input_mapping:
rules:
- source: $.mcp.date
target: $.request.query.date
required: true
- source: $.mcp.base
target: $.request.query.base
required: true
- source: $.mcp.quote
target: $.request.query.quotes
required: true
output_mapping:
rules:
- source: $.response.body[0].date
target: $.output.date
required: true
- source: $.response.body[0].base
target: $.output.base
required: true
- source: $.response.body[0].quote
target: $.output.quote
required: true
- source: $.response.body[0].rate
target: $.output.rate
required: true
execution_config:
timeout_ms: 10000
retry_policy: null
response_cache: null
auth_profile_ref: null
headers: {}
protocol_options: null
streaming: null
tool_description:
title: Исторический курс валюты
description: Возвращает курс валюты на указанную дату через Frankfurter.
tags:
- frankfurter
- currency
- history
- rest
examples:
- input:
date: "2024-01-15"
base: USD
quote: EUR
config_export:
format_version: "1"
export_mode: portable
wizard_state:
input_sample:
date: "2024-01-15"
base: USD
quote: EUR
output_sample:
date: "2024-01-15"
base: USD
quote: EUR
rate: 0.91283
test_input:
date: "2024-01-15"
base: USD
quote: EUR
created_at: 2026-06-19T00:00:00Z
updated_at: 2026-06-19T00:00:00Z
@@ -0,0 +1,127 @@
format_version: "1"
kind: operation
operation:
id: op_frankfurter_monthly_rates
name: frankfurter_monthly_rates
display_name: Месячная динамика курса
category: frankfurter_history
protocol: rest
security_level: standard
enabled: true
status: draft
version: 1
target:
kind: rest
base_url: https://api.frankfurter.dev
method: GET
path_template: /v2/rates
static_headers:
Accept: application/json
input_schema:
type: object
required: true
fields:
from:
type: string
required: true
to:
type: string
required: true
base:
type: string
required: true
quote:
type: string
required: true
output_schema:
type: object
required: true
fields:
first_date:
type: string
required: true
first_rate:
type: number
required: true
first_quote:
type: string
required: true
first_base:
type: string
required: true
input_mapping:
rules:
- source: $.mcp.from
target: $.request.query.from
required: true
- source: $.mcp.to
target: $.request.query.to
required: true
- source: $.mcp.base
target: $.request.query.base
required: true
- source: $.mcp.quote
target: $.request.query.quotes
required: true
- source: $.mcp.group
target: $.request.query.group
required: false
default_value: month
output_mapping:
rules:
- source: $.response.body[0].date
target: $.output.first_date
required: true
- source: $.response.body[0].rate
target: $.output.first_rate
required: true
- source: $.response.body[0].quote
target: $.output.first_quote
required: true
- source: $.response.body[0].base
target: $.output.first_base
required: true
execution_config:
timeout_ms: 10000
retry_policy: null
response_cache: null
auth_profile_ref: null
headers: {}
protocol_options: null
streaming: null
tool_description:
title: Месячная динамика курса
description: Возвращает первую точку месячной динамики курса за выбранный период.
tags:
- frankfurter
- currency
- history
- monthly
- rest
examples:
- input:
from: "2024-01-01"
to: "2024-06-30"
base: USD
quote: EUR
config_export:
format_version: "1"
export_mode: portable
wizard_state:
input_sample:
from: "2024-01-01"
to: "2024-06-30"
base: USD
quote: EUR
output_sample:
first_date: "2024-01-01"
first_base: USD
first_quote: EUR
first_rate: 0.91667
test_input:
from: "2024-01-01"
to: "2024-06-30"
base: USD
quote: EUR
created_at: 2026-06-19T00:00:00Z
updated_at: 2026-06-19T00:00:00Z
@@ -0,0 +1,104 @@
format_version: "1"
kind: operation
operation:
id: op_frankfurter_latest_rate
name: frankfurter_latest_rate
display_name: Последний курс валюты
category: frankfurter_rates
protocol: rest
security_level: standard
enabled: true
status: draft
version: 1
target:
kind: rest
base_url: https://api.frankfurter.dev
method: GET
path_template: /v2/rates
static_headers:
Accept: application/json
input_schema:
type: object
required: true
fields:
base:
type: string
required: true
quote:
type: string
required: true
output_schema:
type: object
required: true
fields:
date:
type: string
required: true
base:
type: string
required: true
quote:
type: string
required: true
rate:
type: number
required: true
input_mapping:
rules:
- source: $.mcp.base
target: $.request.query.base
required: true
- source: $.mcp.quote
target: $.request.query.quotes
required: true
output_mapping:
rules:
- source: $.response.body[0].date
target: $.output.date
required: true
- source: $.response.body[0].base
target: $.output.base
required: true
- source: $.response.body[0].quote
target: $.output.quote
required: true
- source: $.response.body[0].rate
target: $.output.rate
required: true
execution_config:
timeout_ms: 10000
retry_policy: null
response_cache: null
auth_profile_ref: null
headers: {}
protocol_options: null
streaming: null
tool_description:
title: Последний курс валюты
description: Возвращает последний доступный курс одной валюты к другой через Frankfurter.
tags:
- frankfurter
- currency
- exchange-rate
- rest
examples:
- input:
base: USD
quote: EUR
config_export:
format_version: "1"
export_mode: portable
wizard_state:
input_sample:
base: USD
quote: EUR
output_sample:
date: "2026-06-19"
base: USD
quote: EUR
rate: 0.87023
test_input:
base: USD
quote: EUR
created_at: 2026-06-19T00:00:00Z
updated_at: 2026-06-19T00:00:00Z
@@ -0,0 +1,113 @@
format_version: "1"
kind: operation
operation:
id: op_frankfurter_provider_rate
name: frankfurter_provider_rate
display_name: Курс от поставщика данных
category: frankfurter_rates
protocol: rest
security_level: standard
enabled: true
status: draft
version: 1
target:
kind: rest
base_url: https://api.frankfurter.dev
method: GET
path_template: /v2/rates
static_headers:
Accept: application/json
input_schema:
type: object
required: true
fields:
provider:
type: string
required: true
base:
type: string
required: true
quote:
type: string
required: true
output_schema:
type: object
required: true
fields:
date:
type: string
required: true
base:
type: string
required: true
quote:
type: string
required: true
rate:
type: number
required: true
input_mapping:
rules:
- source: $.mcp.provider
target: $.request.query.providers
required: true
- source: $.mcp.base
target: $.request.query.base
required: true
- source: $.mcp.quote
target: $.request.query.quotes
required: true
output_mapping:
rules:
- source: $.response.body[0].date
target: $.output.date
required: true
- source: $.response.body[0].base
target: $.output.base
required: true
- source: $.response.body[0].quote
target: $.output.quote
required: true
- source: $.response.body[0].rate
target: $.output.rate
required: true
execution_config:
timeout_ms: 10000
retry_policy: null
response_cache: null
auth_profile_ref: null
headers: {}
protocol_options: null
streaming: null
tool_description:
title: Курс от поставщика данных
description: Возвращает курс валюты от выбранного поставщика данных Frankfurter.
tags:
- frankfurter
- currency
- provider
- rest
examples:
- input:
provider: ECB
base: EUR
quote: USD
config_export:
format_version: "1"
export_mode: portable
wizard_state:
input_sample:
provider: ECB
base: EUR
quote: USD
output_sample:
date: "2026-06-19"
base: EUR
quote: USD
rate: 1.14912
test_input:
provider: ECB
base: EUR
quote: USD
created_at: 2026-06-19T00:00:00Z
updated_at: 2026-06-19T00:00:00Z