40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from starlette.applications import Starlette
|
||
from starlette.routing import Mount
|
||
from mcp.server.fastmcp import FastMCP
|
||
from typing import TypedDict, List
|
||
|
||
from moex import bond_sequrities
|
||
from cbrcurrency import get_currency
|
||
|
||
|
||
mcp = FastMCP("mcp-moex - Данные с московской биржы.", port=8021)
|
||
|
||
|
||
@mcp.tool()
|
||
def get_bond_securities(bond_ticker: str, board: str) -> dict:
|
||
"""
|
||
Возвращает данные облигации по
|
||
|
||
Args:
|
||
bond_ticker (str): Тикер облигации (например, "SU26230RMFS1").
|
||
board (str): Доска торговли (например, "TQOB").
|
||
"""
|
||
return bond_sequrities(bond_ticker, board)
|
||
|
||
|
||
@mcp.tool()
|
||
def get_currency_to_rub(currency_charcode: str) -> dict:
|
||
"""
|
||
Возвращает курс рубля центробанка России к валюте по ее коду (например, "USD")
|
||
|
||
Args:
|
||
currency_charcode (str): Код валюты (например, "USD", указывается в uppercase).
|
||
"""
|
||
return get_currency(currency_charcode)
|
||
|
||
|
||
|
||
if __name__ == "__main__":
|
||
mcp.run(transport="streamable-http", mount_path="/mcp")
|
||
|