Skip to main content
Glama
jaywapp

toss-readonly-mcp

by jaywapp

toss-mcp

토스증권 Open API 를 MCP 도구로 노출하는 읽기 전용 Claude Code 플러그인입니다. LLM 이 국내·미국 주식의 시세, 종목 정보, 환율·장 운영 시간, 랭킹을 조회할 수 있습니다.

계좌 조회와 주문(생성·정정·취소)은 구현하지 않았습니다. 이 서버는 어떤 부수효과도 일으키지 않습니다.


1. 토스증권 Open API 신청

플러그인을 설치하기 전에 API 자격증명부터 발급받아야 합니다.

단계

내용

1

토스증권 계좌가 있어야 합니다. 없으면 토스 앱에서 먼저 개설합니다.

2

토스증권 WTS 에 로그인 → 설정 > Open API 에서 client_id / client_secret 을 발급받습니다.

3

같은 화면 하단 허용 IP 관리에서 API 를 호출할 IP 를 등록합니다.

4

로컬에 uv 가 설치되어 있어야 합니다 (python -m pip install uv).

3번을 건너뛰면 모든 호출이 403 으로 차단됩니다. 등록된 허용 IP 목록에 없는 IP 에서의 요청은 토스 측에서 거부합니다. 집·회사 등 실행할 환경의 공인 IP 를 등록하세요. ISP 가 IP 를 바꾸면 다시 등록해야 합니다.

별도의 심사나 승인 대기는 없습니다. 발급 즉시 사용할 수 있습니다. client_secret 은 발급 화면을 벗어나면 다시 볼 수 없으니 그 자리에서 보관하세요.


Related MCP server: tossinvest-mcp

2. 설치

Claude Code 와 Codex 양쪽에서 같은 저장소를 플러그인으로 설치할 수 있습니다. 자격증명을 받는 방식만 다릅니다.

Claude Code

/plugin marketplace add jaywapp/toss-readonly-mcp
/plugin install toss-mcp@toss-readonly-mcp

플러그인을 활성화하면 client_id / client_secret 을 묻는 입력창이 뜹니다. 두 값 모두 민감 정보로 처리되어 settings.json 이 아닌 보안 저장소 (macOS Keychain, 그 외 플랫폼은 ~/.claude/.credentials.json)에 저장됩니다.

가상환경은 ${CLAUDE_PLUGIN_DATA}/venv 에 만들어져 플러그인을 업데이트해도 재사용됩니다.

설정을 바꾸려면 /plugin → toss-mcp → Configure 를 사용합니다.

Codex

Codex 에는 플러그인 설정값을 묻는 절차가 없습니다. 자격증명을 먼저 환경변수로 등록한 뒤 설치합니다.

[Environment]::SetEnvironmentVariable('TOSS_CLIENT_ID', '<client_id>', 'User')
[Environment]::SetEnvironmentVariable('TOSS_CLIENT_SECRET', '<client_secret>', 'User')
# 새 터미널을 열어 반영

codex plugin marketplace add jaywapp/toss-readonly-mcp
codex plugin add toss-mcp@toss-readonly-mcp

.codex.mcp.jsonenv_vars 가 위 두 변수를 서버 프로세스로 전달합니다. 등록됐는지는 codex mcp listtoss 행에서 확인할 수 있습니다.

Codex 는 플러그인을 ~/.codex/plugins/cache/ 로 복사해 실행하며, 여기에 가상환경이 생깁니다. Claude Code 와 달리 업데이트하면 다시 만들어집니다.

첫 실행

두 플랫폼 모두 첫 호출 때 uv 가 의존성을 설치하느라 십여 초 걸립니다.

새 세션에서 "삼성전자 주가 알려줘" 라고 물어보세요. search_symbolget_price 순으로 호출되면 정상입니다.

TOSS_CLIENT_ID가 설정되지 않았습니다 가 뜨면 자격증명이 비어 있는 것이고, 403 이 뜨면 허용 IP 등록(1번 3단계)이 안 된 것입니다.


3. 도구

종목 검색

토스 API 에는 종목명 검색 엔드포인트가 없어서, 상장 종목 목록을 로컬 SQLite 에 캐시해 직접 제공합니다. 첫 검색 시 수집하며 이후 TOSS_SYMBOL_TTL_DAYS 마다 자동 갱신됩니다.

도구

설명

search_symbol

종목명으로 심볼 검색 (삼성전자005930)

refresh_symbols

종목 마스터 강제 갱신

시세

도구

설명

get_price

현재가 (최대 200종목). include_change=True 면 전일 대비 등락률 포함

get_orderbook

매수/매도 호가 및 잔량

get_trades

당일 최근 체결 내역 (최대 50건)

get_price_limits

당일 상한가·하한가

get_candles

캔들 OHLCV (1m / 1d, 최대 200봉)

get_price 응답에는 로컬 종목 마스터에서 찾은 종목명이 API 추가 호출 없이 붙습니다.

include_change 는 기본값이 False 입니다. 토스의 현재가 응답에 등락률이 없어서, 켜면 종목마다 일봉을 추가로 조회합니다 (차트 API 는 초당 5회 제한이라 종목이 많으면 느려집니다).

종목 정보

도구

설명

get_stock_info

종목명·시장·통화·상장상태·발행주식수 (최대 200종목)

get_stock_warnings

정리매매·단기과열·투자경고/위험·VI 발동

시장 정보

도구

설명

get_exchange_rate

KRW↔USD 환율

get_market_calendar

국내(KR)·미국(US) 장 운영 시간, 전일·당일·익일

랭킹·지표

도구

설명

get_rankings

상승률·하락률·거래대금·거래량 상위

get_market_indicators

코스피·코스닥 등 시장 지표 현재가


4. 설정값

플러그인 설정으로 노출되는 것은 자격증명 두 개뿐입니다. 나머지는 환경변수로 조정합니다 (기본값 그대로 두어도 동작합니다).

변수

기본값

용도

TOSS_CLIENT_ID

OAuth client_id (Claude Code 는 플러그인 설정, Codex 는 환경변수)

TOSS_CLIENT_SECRET

OAuth client_secret (동일)

TOSS_API_BASE_URL

https://openapi.tossinvest.com

엔드포인트

TOSS_HTTP_TIMEOUT

10

요청 타임아웃(초)

TOSS_CACHE_DIR

~/.cache/toss-mcp

종목 마스터 SQLite 위치

TOSS_SYMBOL_TTL_DAYS

7

종목 마스터 자동 갱신 주기

TOSS_SYMBOL_MARKETS

KRX,NASDAQ,NYSE,AMEX

종목 마스터 수집 대상

TOSS_LOG_LEVEL

INFO

로그 레벨

호출량은 토스가 공개한 그룹별 초당 한도(시세 10회, 차트 5회, 종목 5회, 시장정보 3회)에 맞춰 클라이언트에서 미리 조절합니다. 429 를 받아 재시도하는 것보다 싸기 때문입니다.


5. 플러그인 없이 쓰기

MCP 서버 단독으로도 등록할 수 있습니다. 소스를 직접 고칠 때 이 방식이 편합니다.

git clone https://github.com/jaywapp/toss-readonly-mcp.git toss-mcp
cd toss-mcp
uv sync
copy .env.example .env    # client_id / client_secret 채우기

claude mcp add --scope user toss -- uv --directory <절대경로>\toss-mcp run toss-mcp

이때는 자격증명을 .env 에서 읽습니다. 환경변수가 있으면 그쪽이 우선합니다. .env.gitignore 에 있으니 커밋되지 않습니다.

개발

uv run pytest              # 네트워크를 타지 않는 전체 스위트
uv run pytest -m smoke     # 실제 API 호출 (자격증명 + 허용 IP 등록 필요)

문서

라이선스

MIT

Available Tools

13 tools
get_candlesA
Read-only

종목의 캔들(OHLCV) 차트 데이터를 조회한다.

Args: symbol: 종목 심볼. interval: 봉 단위. "1m"(1분봉) 또는 "1d"(일봉). count: 조회 봉 수 (1~200, 기본 30). before: 페이지네이션 상한 (ISO 8601). 이전 응답의 nextBefore를 그대로 전달한다. adjusted: 수정주가 적용 여부 (기본 True).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
beforeNo
symbolYes
adjustedNo
intervalNo1d

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description aligns with that. The description adds valuable context by explaining pagination via 'before' (pass nextBefore from previous response) and the meaning of 'adjusted' price, which are not obvious from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description opens with a precise one-sentence purpose, then lists parameters in a clean, bullet-like format. Each parameter description is concise and informative without unnecessary fluff, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description doesn't need to explain return values. It covers all parameters and their interactions (such as pagination), providing enough context to invoke the tool correctly. A minor gap is the lack of explicit mention of OHLCV field names, but the output schema likely covers this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries full responsibility for parameter meaning. It explains all 5 parameters with specific details: interval values ('1m' vs '1d'), count range (1-200, default 30), before semantics (pagination, pass nextBefore), and adjusted flag meaning (default True). This goes well beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states '종목의 캔들(OHLCV) 차트 데이터를 조회한다' (queries OHLCV chart data for a symbol), using a specific verb and resource. It distinguishes from siblings like get_price (single price) and get_orderbook by specifying candlestick chart data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It only explains the parameters, with no mention of scenarios that call for candle data or exclusions. There is no explicit instruction on selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_exchange_rateA
Read-only

KRW-USD 환율을 조회한다.

1분마다 갱신되는 참고용 표시 환율이다. 실제 거래 환율과는 다를 수 있다.

Args: base: 기준 통화 (KRW 또는 USD, 기본 USD). quote: 표시 통화 (KRW 또는 USD, 기본 KRW). 1 base = ? quote. date_time: 특정 시점의 환율 (ISO 8601). 생략하면 현재 유효 환율.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoUSD
quoteNoKRW
date_timeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description adds important behavioral context: the rate is updated every minute, is for reference, and may not match actual transaction rates. This helps the agent set expectations, though it does not mention response formats or potential edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a single-sentence purpose, a one-line caveat, and an Args list. Every sentence adds value and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with three optional parameters and an existing output schema, the description covers all necessary aspects: what it does, how to use it, parameter meanings, and a critical limitation. It is complete for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description fully compensates. It explains base and quote currencies, their allowed values and defaults, the meaning '1 base = ? quote', and the ISO 8601 format for date_time, along with the behavior when omitted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries the KRW-USD exchange rate with the verb '조회한다'. It specifies the resource (exchange rate) and the currency pair, distinguishing it from sibling tools that handle stocks, orderbooks, or trades.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that the rate is a reference display rate updated every minute and may differ from actual transaction rates, implying it is for informational use rather than real transactions. However, it does not explicitly name alternative tools or provide a clear 'when not to use' beyond the caveat.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_calendarA
Read-only

국내 또는 미국 시장의 장 운영 시간을 조회한다.

지금 장이 열려 있는지 확인할 때 쓴다. 전일·당일·익일 3영업일 정보를 반환하며, 모든 시각은 KST(+09:00) 기준이다. 휴장일은 세션이 비어 있다.

Args: country: "KR"(국내) 또는 "US"(미국). date: 조회 기준일 (YYYY-MM-DD). 생략하면 오늘.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
countryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context: returns info for 3 business days (previous, current, next), all times in KST, and empty sessions on closed days. This goes beyond the safety profile but does not describe the exact response structure, though that is covered by the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with each sentence serving a distinct purpose: purpose, use case, return characteristics, and argument definitions. No redundant or filler content, and it is front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the readOnly annotation, simple parameter set, and existence of an output schema, the description covers all necessary context: input values, timezone, business-day scope, and closed-day behavior. It is fully adequate for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates by defining both parameters: country accepts 'KR' or 'US', and date is an optional YYYY-MM-DD string. This completely clarifies parameter meaning and formats, addressing the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves market operating hours for KR or US markets and explicitly mentions it is used to check if the market is open. This distinguishes it from sibling tools like get_price or get_candles, which focus on market data rather than market hours.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case ('지금 장이 열려 있는지 확인할 때 쓴다' — use when checking if the market is open). However, it does not explicitly mention alternatives or when not to use this tool, so it lacks the 'when-not/alternatives' component for a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_indicatorsA
Read-only

국내 지수와 국채 금리의 현재가를 조회한다.

"코스피 지금 얼마야", "국고채 10년 금리" 같은 질문에 쓴다. 개별 종목 시세는 이 도구가 아니라 get_price를 사용한다.

Args: symbols: 콤마로 구분. 지원 심볼은 다음 8종뿐이다 — KOSPI, KOSDAQ, KR_BOND_2Y, KR_BOND_3Y, KR_BOND_5Y, KR_BOND_10Y, KR_BOND_20Y, KR_BOND_30Y.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNoKOSPI,KOSDAQ

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and non-destructive, and the description adds that it returns current prices (현재가), conveying point-in-time data. It also documents the exact supported symbol set, a behavioral constraint not present in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with purpose front-loaded in the first sentence, followed by usage guidance and parameter details. No redundant sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool with an output schema and annotations, this description covers purpose, scope, parameter format, and sibling differentiation. It is complete for effective selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides zero description for the 'symbols' parameter, so the description compensates by explaining the comma-separated format and listing all 8 valid symbols. This fully documents parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it fetches current prices for domestic indices and government bond yields, using the specific verb '조회한다' (fetches). It distinguishes from sibling get_price by explicitly noting individual stock quotes should use that tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides example queries for KOSPI and bond yields, making when-to-use explicit, and directly states that get_price should be used for individual stock quotes. It also limits scope to the 8 supported symbols, preventing misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_orderbookA
Read-only

종목의 매수/매도 호가와 잔량을 조회한다.

Args: symbol: 종목 심볼 (KRX는 6자리 숫자, 미국은 티커).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true. The description adds no additional behavioral context, such as data latency, order book depth, or exchange-specific behavior, beyond what the annotations already convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a one-line purpose statement and a short parameter definition. It is front-loaded and contains no irrelevant or redundant text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only tool with an output schema, the description adequately covers the purpose and the required parameter format. Return values are presumably documented in the output schema, so no further explanation is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. The Args section explicitly defines the symbol format for KRX (6-digit number) and US (ticker), which is essential additional meaning not present in the schema. This fully addresses the parameter's semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool queries bid/ask prices and quantities for a symbol ('종목의 매수/매도 호가와 잔량을 조회한다'). This is a specific verb+resource description that distinguishes it from sibling tools like get_price and get_trades, which focus on different data aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as get_price, get_trades, or get_stock_info. It does not mention prerequisites, exclusions, or contextual triggers, leaving the agent without clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_priceA
Read-only

종목의 현재가를 조회한다. 최대 200종목을 한 번에 조회할 수 있다.

응답에는 종목명이 함께 담긴다. 사용자가 종목명으로 물었다면 반환된 이름이 의도한 종목과 맞는지 확인한다.

Args: symbols: 종목 심볼. 콤마로 구분 (예: "005930,000660" 또는 "AAPL"). include_change: True면 전일 종가 대비 등락액·등락률을 함께 계산한다. 종목마다 일봉을 추가 조회하므로 종목이 많으면 느려진다. 사용자가 등락/변동을 물었을 때만 켠다.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYes
include_changeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, openWorldHint, destructiveHint), the description adds valuable behavioral details: a maximum of 200 symbols per query, that the response includes the stock name, and that include_change triggers an additional daily candle lookup making the request slower. This provides practical context but does not cover error handling or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: it begins with the purpose, then a note about response content, followed by a clear Args section. Every sentence adds value, and the length is appropriate for the information conveyed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 params, 1 required), the presence of an output schema, and annotations that cover safety, the description provides sufficient context for an agent to select and invoke the tool correctly. It covers constraints (200 max), parameter behavior, and performance considerations, making it complete for practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates. It explains the symbols parameter with format (comma-separated) and examples ('005930,000660' or 'AAPL'), and details include_change's meaning, its calculation, and performance impact. This goes well beyond the bare schema names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the current price of a stock, with a specific verb ('조회한다' = retrieves) and resource ('현재가' = current price). It also distinguishes from siblings by noting batch support ('최대 200종목') and implying a focus on current price rather than historical data, which sets it apart from tools like get_candles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance for the include_change parameter, instructing to enable it only when the user asks about price changes/fluctuations, and warns about performance when many symbols are queried. It also advises verifying the returned stock name when the user mentioned a name. However, it does not explicitly mention alternatives or when not to use the tool, though the context makes this fairly obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_price_limitsA
Read-only

종목의 당일 상한가·하한가를 조회한다.

미국 주식처럼 가격제한이 없는 시장은 null이 반환된다.

Args: symbol: 종목 심볼.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds meaningful behavioral context beyond annotations: the null-return behavior for markets without price limits, and it implies the tool returns both upper and lower limits. This is useful but not exhaustive; for instance, it does not mention error handling or whether the limits are for the current trading day (although '당일' does indicate that).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise: one purpose sentence, one behavioral note, and an Args line. It is front-loaded with the core function and contains no redundant or tangential content. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no nested objects) and the presence of an output schema, the description does not need to explain return structure. It covers the main edge case (null for no-limit markets) and clearly defines the input. It is complete for a simple lookup tool, though it could optionally mention how invalid symbols are handled, but that is not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter, 'symbol', with no description (0% schema description coverage). The description adds '종목 심볼' (stock symbol) in the Args section, which provides basic meaning. However, this is essentially a restatement of the parameter name and does not add nuance like format or examples. It meets the minimum needed to compensate for the schema gap but does not go beyond.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function in Korean: 'retrieves the day's upper/lower price limits for an instrument.' This is a specific verb and resource, and it distinguishes itself from all sibling tools, none of which mention price limits. The action and scope are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an implicit usage context: use this tool to get price limits. It also adds a relevant behavioral note that null is returned for markets without price limits (e.g., US stocks), which informs when results may be nil. However, it does not explicitly state when to use this tool versus an alternative, nor does it mention any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rankingsA
Read-only

주식 랭킹을 조회한다 — 급상승·급하락·거래대금/거래량 상위.

"오늘 많이 오른 종목", "거래량 터진 종목" 같은 질문에 쓴다.

Args: type: 랭킹 기준. TOP_GAINERS(급상승), TOP_LOSERS(급하락), MARKET_TRADING_AMOUNT(시장 거래대금 상위), MARKET_TRADING_VOLUME(시장 거래량 상위), TOSS_SECURITIES_TRADING_AMOUNT, TOSS_SECURITIES_TRADING_VOLUME. market_country: "KR"(국내) 또는 "US"(미국). duration: 산정 기간. realtime, 1d, 1w, 1mo, 3mo, 6mo, 1y. TOP_GAINERS/TOP_LOSERS는 realtime을 지원하지 않는다. count: 조회 수 (1~100, 기본 20). 크게 잡을수록 응답이 길어진다. exclude_investment_caution: 투자 유의 종목 제외 여부.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
countNo
durationNo1d
market_countryNoKR
exclude_investment_cautionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only and non-destructive behavior. The description adds useful behavioral details: count affects response length, and certain ranking types do not support realtime. It does not, however, mention pagination, rate limits, or sorting order, but these are less critical given the output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a clear one-line purpose, example queries, then a parameter list. Each parameter explanation is compact and informative without redundancy. It fits the information density needed for a 5-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters, gives usage examples, and notes constraints. However, it does not explicitly state which ranking types are valid for each market_country (e.g., whether TOSS_SECURITIES_TRADING_AMOUNT only applies to KR). This ambiguity is a minor gap given the output schema exists for return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description thoroughly documents every parameter: type with all enum values and Korean labels, market_country options, duration allowed values, count range and default, and exclude_investment_caution semantics. This completely compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves stock rankings with specific categories (top gainers, losers, trading amount/volume). It also gives example user queries, making the purpose immediately clear and distinct from sibling tools like get_price or get_candles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context with example queries ('stocks that went up a lot', 'stocks with high volume') and a limitation note (TOP_GAINERS/TOP_LOSERS do not support realtime). It does not explicitly name alternatives, but the sibling tool set makes the distinction clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_stock_infoA
Read-only

종목의 기본 정보를 조회한다 — 종목명, 상장 시장, 통화, 상장 상태, 발행주식수.

Args: symbols: 종목 심볼. 콤마로 구분, 최대 200개.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it is a safe read operation. The description adds useful behavioral context by specifying the exact fields returned (stock name, market, currency, status, shares) and the limit of up to 200 comma-separated symbols, which informs expectations beyond the raw schema and annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a clear one-sentence summary followed by a structured Args section. Every word adds value, with no redundancy or filler. It is appropriately sized for a single-parameter read-only tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, read-only, with an output schema), the description covers the what, the returned fields, and the parameter syntax. Combined with the annotations and output schema, the agent has complete information to select and invoke the tool correctly. The only gap is usage guidance, but that is already scored separately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides no description for the 'symbols' parameter, and schema coverage is 0%. The description compensates fully by explaining in the Args section that symbols should be comma-separated and limited to 200, giving both format and constraints. This is essential information beyond the schema's bare type declaration.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('조회한다' meaning 'retrieves') and a well-defined resource: basic stock information including stock name, listing market, currency, listing status, and number of issued shares. This unambiguous scope distinguishes it from sibling tools like get_price (prices) or get_candles (candlesticks).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any explicit guidance on when to use this tool versus its siblings, such as naming alternatives or stating exclusions. It only describes what the tool does, leaving the agent to infer usage from context. There is no mention of 'use for static reference data' or 'use instead of get_price when you need fundamental data'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_stock_warningsA
Read-only

종목의 매수 유의사항을 조회한다.

정리매매, 단기과열, 투자경고/위험 지정, VI 발동, 신주인수권 여부를 확인한다. 매수를 검토하는 종목이라면 확인할 가치가 있다.

Args: symbol: 종목 심볼.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the specific set of warning signals the tool inspects, which goes beyond the tool name and gives the agent a concrete understanding of the tool's scope and behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: three short sentences plus a structured Args line. It front-loads the main purpose and enumerates the checks without unnecessary filler, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup tool with one parameter, an existing output schema, and clear scope, the description covers purpose, warning categories, usage context, and parameter meaning. No critical information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter 'symbol' with 0% description coverage. The description provides a minimal definition '종목 심볼' (stock symbol), which essentially restates the property name and does not add format, exchange, or usage details. It is adequate but not enriching.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states '종목의 매수 유의사항을 조회한다' (retrieves purchase cautions for a stock) and explicitly lists the specific warning categories checked (정리매매, 단기과열, 투자경고/위험, VI 발동, 신주인수권). This clear verb+resource+scope strongly distinguishes it from sibling price, orderbook, and trade tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: '매수를 검토하는 종목이라면 확인할 가치가 있다' (worth checking if considering buying a stock). It implies when to use the tool, though it does not explicitly name alternatives or exclusions, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tradesA
Read-only

종목의 당일 최근 체결 내역을 조회한다.

Args: symbol: 종목 심볼. count: 조회 건수 (1~50, 기본 20).

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds useful context by specifying that it returns the most recent trades for the current day ('당일 최근'), but it does not disclose return format, pagination, or other behavioral details. This adds some value beyond the annotations but does not fully elaborate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and well-structured, with a single clear purpose sentence followed by a compact argument list. Every word is useful, and there is no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description, combined with the annotations and output schema, gives a fairly complete picture for a simple read-only tool. It covers purpose and parameters adequately, and the output schema handles return values. The only notable gap is the lack of usage differentiation from sibling tools, but the tool's simplicity makes this a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions for the parameters, so the Args section in the description is essential. It explains that 'symbol' is the security symbol and 'count' ranges from 1 to 50 with a default of 20, providing meaning beyond the schema's type and default fields. This fully compensates for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('조회한다' - retrieves) and resource ('당일 최근 체결 내역' - today's recent trade executions) for a given symbol. This clearly conveys the tool's function and distinguishes it from siblings like get_orderbook or get_candles, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as get_orderbook or get_price. It only states what the tool does, with no contextual hints about when it is the appropriate choice, lacking exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_symbolsA
Read-only

종목 목록 캐시를 즉시 갱신한다.

신규 상장 종목이 검색되지 않을 때 사용한다. 평소에는 자동으로 갱신되므로 부를 필요가 없다.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds contextual detail that the action is an immediate cache refresh and that it usually happens automatically, without contradicting the annotations. No side effects or error conditions are mentioned, but the simple nature of the tool makes this acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences. The first sentence states the primary action, and the second gives usage context. Every word earns its place, and key information appears immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

As a zero-argument utility with an output schema, the description fully explains its purpose and when to invoke it. There is no missing information that the agent would need to select or call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description correctly avoids adding parameter details since none exist. It adds no parameter-related information, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool '주식 목록 캐시를 즉시 갱신한다' (immediately refreshes the stock list cache), using a specific verb and resource. This distinguishes it from sibling retrieval tools like get_price and search_symbol, which are data readers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: '신규 상장 종목이 검색되지 않을 때 사용한다' (use when newly listed stocks are not found) and '평소에는 자동으로 갱신되므로 부를 필요가 없다' (normally auto-refreshes, so no need to call). This covers both when to use and when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_symbolA
Read-only

종목명이나 티커로 종목 심볼을 찾는다.

시세 조회 도구는 모두 심볼을 요구하므로, 사용자가 종목명으로 물으면 먼저 이 도구를 쓴다. 예: "삼성전자" -> 005930, "apple" -> AAPL.

결과가 여러 개면 어느 종목인지 사용자에게 되묻는다.

Args: query: 종목명, 영문명, 또는 심볼. 부분 일치도 동작한다. market: 특정 시장으로 제한 (KOSPI, KOSDAQ, NASDAQ, NYSE, AMEX). limit: 최대 결과 수 (기본 10).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
marketNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavior beyond the annotations: partial matching, market filtering, default limit, and the disambiguation flow. This gives the agent a clear model of how the tool behaves in various queries, complementing the readOnlyHint and openWorldHint annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose. Every section (usage context, examples, disambiguation, args) contributes necessary information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a symbol lookup tool with an output schema, the description is complete. It covers input semantics, usage guidance, behavioral edge cases, and examples, leaving no obvious gaps for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no parameter descriptions, but the description's Args section fully explains each parameter: query supports partial matching, market limits to specific exchanges, and limit has a default of 10. This fully compensates for the schema coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: finding stock symbols by name or ticker. It distinguishes itself from sibling tools by explicitly noting that all market price lookup tools require a symbol and this is the first step when a user asks by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit instructions on when to use the tool ('사용자가 종목명으로 물으면 먼저 이 도구를 쓴다') and provides concrete examples. It also describes the disambiguation behavior (asking the user when multiple results) which is essential context for interactive use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv0.1.0
    • First observedget_candles
    • First observedget_exchange_rate
    • First observedget_market_calendar
    • First observedget_market_indicators
    • First observedget_orderbook
    • First observedget_price
    • First observedget_price_limits
    • First observedget_rankings
    • First observedget_stock_info
    • First observedget_stock_warnings
    • First observedget_trades
    • First observedrefresh_symbols
    • First observedsearch_symbol

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct data type: orderbook, price, trades, candles, rankings, indicators, etc. No two tools overlap in purpose, and descriptions clearly differentiate them.

Naming Consistency4/5

Most tools follow the `get_` prefix pattern (get_price, get_candles), with two justified exceptions: search_symbol and refresh_symbols. The deviations are semantically appropriate and do not cause confusion.

Tool Count5/5

13 tools is within the ideal 3-15 range and well-suited for a read-only market data server. Each tool covers a necessary aspect of quote and market data without bloat.

Completeness4/5

The server covers the core market data spectrum: quotes, order books, trades, candles, rankings, indicators, calendar, exchange rate, and stock info. Minor gaps like fundamentals or news are absent, but the main investment research needs are addressed.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    Safe-by-default MCP server for the official Toss Securities Open API, providing read-only market and account data with optional order operations protected by multiple safety gates.
    27
    16
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Toss Securities (토스증권) Open API MCP server for the Korean stock market. Supports real-time quotes, orderbook, candles, account holdings, buying power, and order management (create/modify/cancel) with a built-in safety gate requiring explicit confirmation before any real order is placed.
    17
    40
    3
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A read-only MCP server skeleton for Korean stocks data, with tool stubs for stock quotes, orderbooks, and DART filings; all data tools currently return a NOT_IMPLEMENTED error.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Toss Securities Open API that exposes Korean (KRX) and US market data, portfolio holdings, order management, and conditional orders through 28 tools, with read-only and authenticated remote modes.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jaywapp/toss-readonly-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server