Bitcoin SV MCP Server
비트코인 SV MCP 서버
⚠️ 공지: 실험 작업 진행 중
이 프로젝트는 초기 실험 단계에 있습니다. 기능이 변경될 수 있으며 API는 아직 안정적이지 않습니다. 기여, 피드백, 버그 리포트를 환영합니다! 이슈를 생성하거나 풀 리퀘스트를 제출해 주세요.
모델 컨텍스트 프로토콜(MCP) 프레임워크를 위한 비트코인 SV(BSV) 도구 모음입니다. 이 라이브러리는 BSV 블록체인 상호작용을 위한 지갑, 서수, 유틸리티 함수를 제공합니다.
설치 및 설정
Bun을 사용하세요(선택 사항이지만 권장)
이 프로젝트는 빠른 JavaScript 런타임이자 패키지 관리자인 Bun을 사용하여 빌드되었습니다. 최상의 성능을 위해서는 Bun이 권장되지만, Bun은 Node.js와 하위 호환성을 갖도록 설계되었으므로 Node.js 및 npm으로도 서버를 실행할 수 있습니다.
Bun 설치
macOS(Homebrew 사용):
지엑스피1
macOS/Linux/WSL(설치 스크립트 사용):
curl -fsSL https://bun.sh/install | bashWindows: Windows 사용자는 WSL(Windows Subsystem for Linux) 또는 Docker를 사용하여 Bun을 실행해야 합니다.
Node.js와 npm도 작동하지만 동일한 성능상의 이점을 제공하지 못할 수 있습니다.
Related MCP server: MNEE MCP Server
MCP 클라이언트에 연결
이 서버는 모델 컨텍스트 프로토콜 (MCP)을 구현하여 AI 어시스턴트가 비트코인 SV 기능을 활용할 수 있도록 합니다. 이 서버를 다양한 MCP 호환 클라이언트에 연결할 수 있습니다.

참고:
PRIVATE_KEY_WIF환경 변수는 이제 선택 사항입니다. 이 변수가 없으면 서버는 교육 자료 및 지갑 관련 도구가 아닌 제한된 모드로 실행됩니다. 지갑 및 MNEE 토큰 작업에는 유효한 개인 키가 필요합니다.IDENTITY_KEY_WIF환경 변수를 설정하여 인증, 큐레이션 및 신뢰 웹을 위한 서수 비문의 시그마 프로토콜 서명을 활성화할 수도 있습니다.
커서
Cursor 와 함께 BSV MCP 서버를 사용하려면:
아직 Cursor를 설치하지 않았다면 설치하세요.
커서를 열고 설정 → 확장 → 모델 컨텍스트 프로토콜로 이동합니다.
"새로운 글로벌 MCP 서버 추가"를 클릭하세요.
다음 구성을 JSON 형식으로 입력하세요.
{
"mcpServers": {
"Bitcoin SV": {
"command": "bunx",
"args": [
"bsv-mcp@latest"
],
"env": {
"PRIVATE_KEY_WIF": "<your_private_key_wif>",
"IDENTITY_KEY_WIF": "<your_identity_key_wif>"
}
}
}
}<your_private_key_wif>실제 개인 키 WIF로 바꾸세요(보안에 유의하세요!). 개인 키 WIF가 없다면 지금은 이 부분을 해제해도 되지만, 지갑이 필요한 도구는 사용할 수 없습니다.<your_identity_key_wif>도 선택 사항입니다. 제공된 신원 키를 사용하여 시그마 프로토콜을 통해 1Sat Ordinals에 서명합니다."저장"을 클릭하세요
BSV 도구는 이제 "Bitcoin SV" 네임스페이스에서 Cursor의 AI 어시스턴트에서 사용할 수 있습니다.
npm 사용자를 위한 대안
Bun 대신 npm을 사용하려면:
{
"mcpServers": {
"Bitcoin SV": {
"command": "npx",
"args": [
"bsv-mcp@latest"
],
"env": {
"PRIVATE_KEY_WIF": "<your_private_key_wif>",
"IDENTITY_KEY_WIF": "<your_identity_key_wif>"
}
}
}
}데스크톱용 클로드
이 서버를 데스크톱용 Claude에 연결하려면:
데스크톱용 Claude를 열고 Claude > 설정 > 개발자로 이동하세요.
"구성 편집"을 클릭하세요.
선호하는 텍스트 편집기에서 Claude 구성 JSON 파일을 엽니다. CLI에서 작업하는 것을 선호한다면 다음을 수행합니다.
# macOS/Linux
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
code %APPDATA%\Claude\claude_desktop_config.json구성에 BSV MCP 서버를 추가합니다.
{ "mcpServers": { "Bitcoin SV": { "command": "bun", "args": [ "run", "bsv-mcp@latest" ], "env": { "PRIVATE_KEY_WIF": "<your_private_key_wif>", "IDENTITY_KEY_WIF": "<your_identity_key_wif>" } } } }<your_private_key_wif>실제 개인 키 WIF로 바꾸세요.파일을 저장하고 Claude for Desktop을 다시 시작하세요.
Claude for Desktop에서 도구 아이콘(망치)을 클릭하면 BSV 도구가 나타납니다.
npm 사용자를 위한 대안(Claude)
Bun 대신 npm을 사용하려면 "command" 필드를 "npx"로 바꾸세요.
사용 가능한 도구
툴킷은 여러 카테고리로 구성되어 있습니다.
지갑 도구
지갑 도구는 핵심 BSV 지갑 기능을 제공합니다.
도구 이름 | 설명 | 출력 예 |
| 지정된 프로토콜과 키 ID에 대한 공개 키를 검색합니다. |
|
| 제공된 데이터에 대한 암호화 서명을 생성합니다. |
|
| 제공된 데이터에 대해 암호화 서명을 확인합니다. |
|
| 지갑의 암호화 키를 사용하여 데이터를 암호화하고 복호화하는 통합 도구입니다. 예: 1. 텍스트 암호화: | 암호화: |
| 현재 지갑 또는 파생 경로에 대한 BSV 주소를 반환합니다. |
|
| 지정된 주소로 BSV를 전송합니다(BSV 또는 USD 금액 지원) |
|
| 마켓플레이스 목록에서 NFT 또는 BSV-20/BSV-21 토큰을 구매합니다. |
|
| BSV 블록체인에 순서를 생성하고 기록합니다. |
|
BSV 도구
BSV 블록체인 및 네트워크와 상호 작용하기 위한 도구:
도구 이름 | 설명 | 출력 예 |
| 거래소 API에서 현재 BSV 가격을 가져옵니다. |
|
| BSV 트랜잭션을 디코딩하고 자세한 정보를 반환합니다. |
|
| WhatsOnChain API 엔드포인트에 액세스하는 포괄적인 블록체인 탐색기 도구 |
|
순서형 도구
BSV에서 순서형(NFT) 작업을 위한 도구:
도구 이름 | 설명 | 출력 예 |
| 특정 비문에 대한 자세한 정보를 검색합니다. |
|
| 다양한 기준에 따른 비문 검색 |
|
| 통합 인터페이스를 통해 NFT, BSV-20 및 BSV-21 토큰에 대한 시장 목록을 검색합니다. |
|
| BSV-20 및 BSV-21 토큰 시장 판매에 대한 정보를 얻습니다. |
|
| ID로 특정 BSV20 토큰에 대한 세부 정보를 검색합니다. |
|
유틸리티 도구
일반 용도 유틸리티 함수:
도구 이름 | 설명 | 출력 예 |
| 다양한 인코딩 형식(utf8, hex, base64, binary) 간에 데이터를 변환합니다. 매개 변수: - |
|
MNEE 도구
MNEE 토큰 작업을 위한 도구:
도구 이름 | 설명 | 출력 예 |
| 지갑의 현재 MNEE 토큰 잔액을 검색합니다. |
|
| 지정된 주소로 MNEE 토큰을 보내세요. MNEE 및 USD 금액을 모두 지원합니다. |
|
| MNEE 거래를 파싱하여 해당 거래 내역 및 금액에 대한 자세한 정보를 얻습니다. 모든 금액은 소수점 이하 5자리까지 표시되는 원자 단위(예: 1000 원자 단위 = 0.01 MNEE)입니다. |
|
MCP와 함께 도구 사용
연결되면 AI 비서를 통해 자연어를 사용하여 Bitcoin SV와 상호 작용할 수 있습니다. 다음은 몇 가지 프롬프트 예시입니다.
지갑 운영
"내 비트코인 SV 주소를 받아보세요"
"0.01 BSV를 1ExampleBsvAddressXXXXXXXXXXXXXXXXX로 전송"
"1ExampleBsvAddressXXXXXXXXXXXXXXXXX로 5달러 상당의 BSV를 보내세요"
"0.01 MNEE를 1ExampleBsvAddressXXXXXXXXXXXXXXXXX로 전송"
"내 MNEE 잔액을 확인하세요"
"이 MNEE 거래를 구문 분석하세요: txid"
"내 지갑 키를 사용하여 이 메시지를 암호화합니다"
"이전에 나를 위해 암호화된 데이터를 해독해 주세요"
"이 NFT 목록을 구매하세요: txid_vout"
"이 BSV-20 토큰 목록을 구매하세요: txid_vout"
순서형(NFT)
"아웃포인트 6a89047af2cfac96da17d51ae8eb62c5f1d982be2bc4ba0d0cd2084b7ffed325_0을 사용하여 NFT에 대한 정보를 보여주세요"
"픽셀 조이드 NFT를 검색하세요"
"BSV NFT에 대한 현재 마켓플레이스 목록을 보여주세요"
"PEPE 티커에 대한 BSV-20 토큰 목록을 보여주세요"
"최근 BSV-20 토큰 판매 내역을 확인하세요"
블록체인 운영
"현재 BSV 가격은 얼마인가요?"
"이 BSV 트랜잭션을 디코딩하세요: (트랜잭션 16진수 또는 ID)"
"최신 비트코인 SV 체인 정보를 받아보세요"
"높이 800000에 대한 블록 세부 정보를 보여주세요"
"주소 1ExampleBsvAddressXXXX에 대한 거래 내역을 탐색하세요"
"내 지갑 주소에 대한 사용되지 않은 출력(UTXO)을 확인하세요"
"해시 a1b2c3d4e5f6를 사용하여 거래에 대한 세부 정보를 얻으세요..."
데이터 변환
"UTF-8에서 16진수 형식으로 'Hello World'를 변환합니다"
MCP 프롬프트 및 리소스
BSV MCP 서버는 비트코인 SV 기술에 대한 자세한 정보와 맥락을 제공하는 특수 프롬프트와 리소스를 제공합니다. AI 모델은 이러한 정보에 접근하여 이해도와 역량을 향상시킬 수 있습니다.
사용 가능한 프롬프트
서버는 MCP 프로토콜을 통해 직접 액세스할 수 있는 다음과 같은 교육 프롬프트를 제공합니다.
순서형 프롬프트
식별자 :
bitcoin_sv_ordinals설명 : Bitcoin SV 순서수에 대한 포괄적인 정보로, 순서수가 무엇인지, 어떻게 작동하는지, 어떻게 사용하는지 등이 나와 있습니다.
사용법 : 이 정보에 접근하려면 도우미에게 "Bitcoin SV ordinals" 또는 "1Sat Ordinals"에 대해 물어보세요.
BSV SDK 프롬프트
Bitcoin SV SDK에 대한 자세한 정보를 제공하는 프롬프트 모음:
개요
식별자 :
bitcoin_sv_sdk_overview설명 : Bitcoin SV SDK의 일반적인 개요, 목적 및 주요 구성 요소 포함.
사용법 : "BSV SDK에 대해 알려주세요" 또는 "Bitcoin SV SDK가 무엇인가요?"
지갑 운영
식별자 :
bitcoin_sv_sdk_wallet설명 : BSV SDK의 지갑 작업에 대한 정보입니다.
사용법 : "BSV SDK에서 지갑 작업은 어떻게 작동합니까?"
거래 빌딩
식별자 :
bitcoin_sv_sdk_transaction설명 : 거래 생성 및 조작에 대한 세부 정보입니다.
사용법 : "BSV SDK 트랜잭션 빌드에 대해 설명하세요" 또는 "BSV SDK로 트랜잭션을 어떻게 생성하나요?"
입증
식별자 :
bitcoin_sv_sdk_auth설명 : BSV SDK의 인증 및 ID 프로토콜.
사용법 : "BSV SDK를 사용하면 인증이 어떻게 작동합니까?"
암호화
식별자 :
bitcoin_sv_sdk_cryptography설명 : 서명, 암호화, 검증 기능.
사용법 : "BSV SDK 암호화 기능 설명"
스크립팅
식별자 :
bitcoin_sv_sdk_script설명 : 비트코인 스크립팅 및 계약 기능.
사용법 : "BSV SDK를 사용하여 비트코인 스크립트를 어떻게 사용합니까?"
원시
식별자 :
bitcoin_sv_sdk_primitives설명 : BSV SDK의 핵심 데이터 유형 및 구조.
사용법 : "BSV SDK에서 사용할 수 있는 기본 요소는 무엇입니까?"
사용 가능한 리소스
이 서버는 또한 Bitcoin Request for Comments(BRC) 사양 및 문서에 대한 액세스를 제공합니다.
변경 로그 리소스
식별자 :
bsv-mcp-changelog설명 : BSV MCP 서버의 버전 기록 및 변경 로그입니다.
사용법 : "BSV MCP 변경 사항을 보여주세요" 또는 "최신 버전의 새로운 기능은 무엇인가요?"
BRC 리소스
BRC 개요
식별자 :
brcs_readme설명 : BRC 저장소에 있는 모든 Bitcoin SV 프로토콜 사양에 대한 개요입니다.
사용법 : "Bitcoin SV BRC 개요 보기"
BRC 요약
식별자 :
brcs_summary설명 : 모든 Bitcoin SV BRC에 대한 목차입니다.
사용법 : "Bitcoin SV BRC에 대한 요약을 알려주세요"
특정 BRC 사양
식별자 :
brc_spec설명 : 범주 및 번호별로 특정 BRC 사양에 접근합니다.
사용법 : "거래 봉투에 BRC 8을 표시해 주세요" 또는 "BRC 1은 무엇을 지정합니까?"
BRC 카테고리
BRC 사양은 다음 범주로 구성됩니다.
지갑
업무
스크립트
토큰
오버레이
결제
피어투피어
키 유도
아웃포인트
의견
상태 머신
앱
프롬프트 및 리소스 사용
AI 모델은 이러한 프롬프트와 리소스를 사용하여 비트코인 SV 기술에 대해 더욱 정확하고 자세한 답변을 제공할 수 있습니다. 사용자는 다음을 수행할 수 있습니다.
특정 주제에 대해 질문하세요 : "Bitcoin SV 순서수에 대해 알려주세요" 또는 "BSV SDK 거래 구성에 대해 설명해 주세요"
특정 BRC 세부 정보 요청 : "BRC 8은 무엇을 지정합니까?" 또는 "거래 생성 시 BRC 표시"
일반적인 개요 보기 : "BSV SDK란 무엇입니까?" 또는 "모든 BRC 요약 보기"
이러한 프롬프트와 리소스는 AI의 지식 기반을 강화하여 복잡한 Bitcoin SV 주제에 대해서도 보다 기술적이고 정확한 응답을 가능하게 합니다.
MCP 작동 방식
MCP 지원 AI 어시스턴트와 상호 작용하는 경우:
AI는 귀하의 요청을 분석하고 어떤 도구를 사용할지 결정합니다.
귀하의 승인 하에 적절한 BSV MCP 도구가 호출됩니다.
서버는 Bitcoin SV 블록체인에서 요청된 작업을 실행합니다.
결과는 AI 어시스턴트에게 반환됩니다.
보조자는 자연스럽고 대화적인 방식으로 정보를 제공합니다.
사용자 정의 옵션
BSV MCP 서버는 환경 변수를 사용하여 사용자 정의하여 특정 구성 요소를 활성화하거나 비활성화할 수 있습니다.
구성 요소 구성
환경 변수 | 기본 | 설명 |
|
| 모든 교육적 메시지를 비활성화하려면 |
|
| 모든 리소스(BRC, 변경 로그)를 비활성화하려면 |
|
| 모든 도구를 비활성화하려면 |
도구별 구성
환경 변수 | 기본 | 설명 |
|
| 비트코인 지갑 도구를 비활성화하려면 |
|
| MNEE 토큰 도구를 비활성화하려면 |
|
| BSV 블록체인 도구를 비활성화하려면 |
|
| Ordinals/NFT 도구를 비활성화하려면 |
|
| 유틸리티 도구를 비활성화하려면 |
|
| 신원 키에 대한 선택적 WIF입니다. 설정된 경우, 순서형 비문은 인증, 큐레이션 및 신뢰 웹을 위해 시그마 프로토콜로 서명됩니다. |
|
| 트랜잭션 브로드캐스팅을 비활성화하려면 |
예시
도구 없이 교육 자료와 프롬프트만 사용하여 실행하세요.
DISABLE_TOOLS=true bunx bsv-mcp@latestBSV 도구만 사용하여 실행하고 지갑이나 다른 기능은 사용하지 않습니다.
DISABLE_PROMPTS=true DISABLE_RESOURCES=true DISABLE_WALLET_TOOLS=true DISABLE_MNEE_TOOLS=true DISABLE_ORDINALS_TOOLS=true DISABLE_UTILS_TOOLS=true bunx bsv-mcp@latest지갑 작업을 제외한 모든 도구를 사용하세요:
DISABLE_WALLET_TOOLS=true bunx bsv-mcp@latest브로드캐스트하지 않고 거래 생성(테스트 실행 모드):
DISABLE_BROADCASTING=true bunx bsv-mcp@latest문제 해결
BSV MCP 서버에 문제가 있는 경우:
연결 문제
시스템에 Bun 또는 Node.js가 설치되어 있는지 확인하세요.
WIF 개인 키가 환경에 올바르게 설정되었는지 확인하세요.
클라이언트가 MCP를 지원하고 올바르게 구성되었는지 확인하세요.
클라이언트 콘솔 출력에서 오류 메시지를 찾으세요.
Bun을 최신 상태로 유지하기
호환성을 보장하려면 Bun을 최신 버전으로 업데이트하는 것이 중요합니다.
# Update Bun to the latest version
bun upgrade현재 Bun 버전을 확인하려면:
bun --version로깅 및 디버깅
데스크톱용 Claude의 경우 다음에서 로그를 확인하세요.
# macOS/Linux
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# Windows
type %APPDATA%\Claude\Logs\mcp*.log커서의 경우 설정 → 확장 → 모델 컨텍스트 프로토콜에서 커서 MCP 로그를 확인하세요.
최근 업데이트
거래 브로드캐스트 제어 : 거래가 네트워크로 브로드캐스트되는 것을 방지하기 위해
DISABLE_BROADCASTING환경 변수가 추가되었습니다.블록체인 탐색기 : 메인넷/테스트넷 지원을 통해 WhatsOnChain API 액세스를 위한
bsv_explore도구가 추가되었습니다.통합 도구 :
wallet_encrypt/wallet_decrypt단일wallet_encryption도구로 통합향상된 마켓플레이스 : 상장, 판매 및 구매에서 NFT, BSV-20/21 토큰 지원
성능 : 가격 캐싱 추가 및 API 엔드포인트 구조 최적화
개선된 유효성 검사 : 개인 키 및 매개변수에 대한 더 나은 오류 처리
비트코인 SV 블록체인 탐색기
bsv_explore 도구는 WhatsOnChain API를 통해 비트코인 SV 블록체인에 대한 포괄적인 접근을 제공합니다. 이 강력한 탐색기 도구를 사용하면 체인 데이터, 블록, 거래 내역, 주소 정보 등 블록체인의 다양한 측면을 조회할 수 있습니다.
사용 가능한 엔드포인트
이 도구는 다음과 같은 엔드포인트 범주와 특정 엔드포인트를 지원합니다.
체인 데이터
엔드포인트 | 설명 | 필수 매개변수 | 예시 응답 |
| 네트워크 통계, 난이도 및 체인 작업 | 없음 |
|
| 높이와 상태를 포함한 현재 체인 팁 | 없음 |
|
| 현재 BSV 순환 공급량 | 없음 |
|
| 연결된 피어 통계 | 없음 |
|
블록 데이터
엔드포인트 | 설명 | 필수 매개변수 | 예시 응답 |
| 해시를 통한 완전한 블록 데이터 |
|
|
| 높이를 통한 완전한 블록 데이터 |
|
|
| 특정 블록의 태그 수에 대한 통계 |
|
|
| 마지막 10개 블록 헤더를 검색합니다. | 없음 |
|
| 대규모 블록에 대한 거래 ID 페이지를 검색합니다. |
|
|
통계 데이터
엔드포인트 | 설명 | 필수 매개변수 | 예시 응답 |
| 특정 높이에 대한 블록 통계 |
|
|
| 특정 기간 동안의 블록 마이닝 통계 | 선택 사항: |
|
| 광산 통계 요약 | 선택 사항: |
|
거래 데이터
엔드포인트 | 설명 | 필수 매개변수 | 예시 응답 |
| 자세한 거래 데이터 |
|
|
| 원시 거래 16진수 데이터 |
|
|
| 거래 영수증 |
|
|
| 한 번의 요청으로 여러 거래 검색 |
|
|
주소 데이터
엔드포인트 | 설명 | 필수 매개변수 | 예시 응답 |
| 주소별 거래 내역 |
|
|
| 주소에 대한 사용되지 않은 출력 |
|
|
회로망
엔드포인트 | 설명 | 필수 매개변수 | 예시 응답 |
| API 상태 점검 | 없음 |
|
사용 예
bsv_explore 도구는 다음과 같은 자연어 프롬프트와 함께 사용할 수 있습니다.
"Get the current Bitcoin SV blockchain information"
"Show me block #800000 details"
"Get tag count statistics for block #800000"
"Fetch transaction history for address 1ExampleBsvAddressXXXXXXXX"
"Get unspent outputs for my wallet address"
"Check transaction details for txid a1b2c3d4e5f6..."
"What is the current BSV circulating supply?"
"Show me the latest block headers"
"Get transaction IDs for page 2 of a large block"
"Show me block statistics for height 800000"
"What are the mining statistics for the last 14 days?"
"Get a summary of mining activity over the past 30 days"
"Retrieve details for multiple transactions in a single query"도구의 내부적으로는 어떤 데이터를 검색할지 지정하는 매개변수를 허용합니다.
endpoint: 쿼리할 특정 WhatsOnChain 엔드포인트(예:chain_info,tx_by_hash)network: 사용할 BSV 네트워크(main또는test)특정 엔드포인트에 필요한 추가 매개변수:
blockHash: block_by_hash 및 block_pages 엔드포인트용blockHeight: block_by_height, tag_count_by_height 및 block_stats_by_height 엔드포인트의 경우pageNumber: block_pages 엔드포인트(페이지 매김)용days: block_miner_stats 및 miner_summary_stats 엔드포인트의 경우(기본값은 7)txHash: 거래 관련 엔드포인트(tx_by_hash, tx_raw, tx_receipt)txids: bulk_tx_details 엔드포인트(트랜잭션 ID 배열)address: 주소 관련 엔드포인트의 경우limit: address_history에 대한 선택적 페이지 매김 제한
네트워크 옵션
이 도구는 메인넷과 테스트넷을 모두 지원합니다.
main: 비트코인 SV 메인넷(기본)test: 비트코인 SV 테스트넷
개발
프로젝트 설정
프로젝트에 기여하거나 로컬로 실행하고 싶다면:
저장소를 복제합니다.
git clone https://github.com/b-open-io/bsv-mcp.git cd bsv-mcp종속성 설치:
bun install # or with npm npm install
서버 실행
bun run index.ts
# or with npm
npm run start테스트 실행
bun test
# or with npm
npm test특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
Available Tools
9 toolsbsv_decodeTransactionA
Decodes and analyzes Bitcoin SV transactions to provide detailed insights. This powerful tool accepts either a transaction ID or raw transaction data and returns comprehensive information including inputs, outputs, fee calculations, script details, and blockchain context. Supports both hex and base64 encoded transactions and automatically fetches additional on-chain data when available.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses behavioral traits such as supporting hex/base64 encoding, fetching on-chain data, and returning detailed insights, but lacks information on error handling, rate limits, or authentication needs, which are important for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose. Every sentence adds value, such as input formats and output details, but it could be slightly more streamlined by avoiding redundant phrases like 'powerful tool'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (1 parameter with nested objects, no output schema, and no annotations), the description is somewhat complete but lacks details on return values, error cases, or performance considerations. It covers input semantics well but falls short in fully compensating for the missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% coverage. It explains that 'tx' can be a transaction ID or raw data and clarifies encoding options, effectively compensating for the schema's lack of descriptions. However, it doesn't detail the structure of 'args' or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 specific verbs ('decodes and analyzes') and resource ('Bitcoin SV transactions'), distinguishing it from siblings like price checking or ordinal tools. It specifies the comprehensive insights returned, making the function unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning it accepts transaction IDs or raw data, but does not explicitly state when to use this tool versus alternatives like bsv_explore or other Bitcoin-related tools. No exclusions or clear alternatives are provided, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bsv_exploreA
Explore Bitcoin SV blockchain data using the WhatsOnChain API. Access multiple data types:
CHAIN DATA:
chain_info: Network stats, difficulty, and chain work
chain_tips: Current chain tips including heights and states
circulating_supply: Current BSV circulating supply
peer_info: Connected peer statistics
BLOCK DATA:
block_by_hash: Complete block data via hash (requires blockHash parameter)
block_by_height: Complete block data via height (requires blockHeight parameter)
tag_count_by_height: Stats on tag count for a specific block via height (requires blockHeight parameter)
block_headers: Retrieves the last 10 block headers
block_pages: Retrieves pages of transaction IDs for large blocks (requires blockHash and optional pageNumber)
STATS DATA:
block_stats_by_height: Block statistics for a specific height (requires blockHeight parameter)
block_miner_stats: Block mining statistics for a time period (optional days parameter, default 7)
miner_summary_stats: Summary of mining statistics (optional days parameter, default 7)
TRANSACTION DATA:
tx_by_hash: Detailed transaction data (requires txHash parameter)
tx_raw: Raw transaction hex data (requires txHash parameter)
tx_receipt: Transaction receipt (requires txHash parameter)
bulk_tx_details: Bulk transaction details (requires txids parameter as array of transaction hashes)
ADDRESS DATA:
address_history: Transaction history for address (requires address parameter, optional limit)
address_utxos: Unspent outputs for address (requires address parameter)
NETWORK:
health: API health check
Use the appropriate parameters for each endpoint type and specify 'main' or 'test' network.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description lists endpoint functionalities but lacks critical behavioral details: it doesn't specify whether operations are read-only or mutative, rate limits, authentication requirements, error handling, or response formats. While it mentions 'API health check' and parameter requirements, it fails to provide comprehensive behavioral context needed for safe and effective tool invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with categorized sections (CHAIN DATA, BLOCK DATA, etc.) and bullet points for each endpoint, making it easy to scan. It is appropriately sized for a tool with 19 endpoints, though some redundancy exists (e.g., repeating 'requires X parameter' could be streamlined). Every sentence adds value by clarifying endpoint purposes and parameter mappings, with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (19 endpoints, no annotations, no output schema, and nested input schema), the description is partially complete. It excels in documenting endpoints and parameter mappings but lacks behavioral details (e.g., read/write nature, rate limits) and output information. Without annotations or output schema, the description should ideally cover more behavioral aspects to fully guide the agent, leaving gaps in operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% schema description coverage. It explicitly maps each endpoint to required parameters (e.g., 'block_by_hash: Complete block data via hash (requires blockHash parameter)'), provides optional parameters with defaults (e.g., 'days parameter, default 7'), and clarifies parameter usage across endpoints. This compensates fully for the schema's lack of descriptions, making parameter semantics clear and actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Explore Bitcoin SV blockchain data using the WhatsOnChain API. Access multiple data types:' followed by a comprehensive categorization of endpoints (CHAIN DATA, BLOCK DATA, etc.). It specifies the verb 'explore' and resource 'Bitcoin SV blockchain data', distinguishing it from sibling tools like bsv_decodeTransaction (decodes transactions) or bsv_getPrice (gets price data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for exploring Bitcoin SV blockchain data via the WhatsOnChain API, with a list of specific endpoint types. It explicitly states 'Use the appropriate parameters for each endpoint type and specify 'main' or 'test' network.' However, it does not explicitly mention when not to use it or name alternatives among sibling tools (e.g., using bsv_decodeTransaction for transaction decoding instead of this tool's tx_by_hash).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bsv_getPriceA
Retrieves the current price of Bitcoin SV (BSV) in USD from a reliable exchange API. This tool provides real-time market data that can be used for calculating transaction values, monitoring market conditions, or converting between BSV and fiat currencies.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | No parameters required - simply returns the current BSV price in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the tool fetches 'real-time market data' and mentions the source ('reliable exchange API'), which adds useful context. However, it doesn't mention potential limitations like rate limits, authentication requirements, error conditions, or data freshness guarantees that would be important for a price API tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with two sentences: the first states the core functionality, and the second provides usage context. Every sentence adds value without redundancy, and it's appropriately front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple price retrieval tool with no annotations and no output schema, the description provides adequate purpose and usage context. However, it lacks details about the return format (e.g., numeric value, timestamp, currency pair), error handling, or data source specifics that would be helpful given the absence of structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% and clearly states 'No parameters required - simply returns the current BSV price in USD'. The description reinforces this by not mentioning any parameters, which is appropriate for a zero-parameter tool. The baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Retrieves'), resource ('current price of Bitcoin SV (BSV) in USD'), and data source ('from a reliable exchange API'). It distinguishes itself from siblings by focusing on real-time price data rather than transaction decoding, exploration, or ordinal-related functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('calculating transaction values, monitoring market conditions, or converting between BSV and fiat currencies'). However, it doesn't explicitly state when not to use it or name specific alternatives among the sibling tools for similar price data needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_getInscriptionA
Retrieves detailed information about a specific ordinal inscription by its outpoint. Returns complete inscription data including content type, file information, inscription origin, and current status. Useful for verifying NFT authenticity or retrieving metadata about digital artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return data ('complete inscription data including content type, file information, inscription origin, and current status'), which is helpful. However, it lacks details on error handling, rate limits, authentication needs, or performance characteristics, leaving gaps for a mutation-free but data-rich tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by return details and usage context in two efficient sentences. Every sentence adds value without redundancy, making it appropriately sized and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (data retrieval with detailed output), no annotations, and no output schema, the description is moderately complete. It outlines the purpose and return data but lacks specifics on output structure, error cases, or operational constraints, which are important for a tool with rich data returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by specifying the parameter as 'outpoint' and implying its critical role in identifying the inscription, though it does not detail the format beyond what the schema provides ('Outpoint in format 'txid_vout''). For a single parameter tool, this provides adequate context, but not exhaustive detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('retrieves detailed information') and resource ('about a specific ordinal inscription by its outpoint'), distinguishing it from siblings like ordinals_searchInscriptions (searching) or ordinals_getTokenByIdOrTicker (tokens). It provides a precise verb+resource combination that leaves no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('useful for verifying NFT authenticity or retrieving metadata about digital artifacts'), providing clear context. However, it does not specify when NOT to use it or name alternatives (e.g., ordinals_searchInscriptions for broader searches), which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_getTokenByIdOrTickerB
Retrieves detailed information about a specific BSV-20 token by its ID or ticker symbol. Returns complete token data including ticker symbol, supply information, decimals, and current status. This tool is useful for verifying token authenticity or checking supply metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool retrieves detailed information and returns complete token data, which implies a read-only operation, but doesn't explicitly state whether it's safe, requires authentication, has rate limits, or what happens on errors. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: the first states the purpose and parameters, and the second provides usage context. It's front-loaded with the core functionality, and every sentence adds value without redundancy. However, it could be slightly more structured by explicitly listing return fields or constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (1 parameter with nested objects, no output schema, no annotations), the description is moderately complete. It covers the purpose, parameters, and usage context but lacks details on return values, error handling, or behavioral traits. Without an output schema, it should ideally explain what 'complete token data' includes, but it doesn't. It's adequate for basic use but has clear gaps for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning by specifying that the tool retrieves information 'by its ID or ticker symbol,' which aligns with the two properties in the input schema (id and tick). However, with 0% schema description coverage, the schema provides no descriptions for these parameters. The description compensates somewhat by indicating what the parameters represent, but it doesn't detail formats (e.g., ID as outpoint) or usage rules (e.g., exclusive OR). Baseline is 3 as it adds some value but doesn't fully compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving detailed information about a specific BSV-20 token by ID or ticker symbol. It specifies the resource (BSV-20 token) and action (retrieving detailed information), and distinguishes it from siblings like ordinals_getInscription or ordinals_marketListings by focusing on token data rather than inscriptions or market listings. However, it doesn't explicitly differentiate from all siblings (e.g., bsv_explore might also retrieve data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating it's 'useful for verifying token authenticity or checking supply metrics,' which suggests when to use it. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like bsv_explore or ordinals_searchInscriptions, nor does it specify prerequisites or exclusions. The guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_marketListingsC
Retrieves current marketplace listings for Bitcoin SV ordinals with flexible filtering. Supports multiple asset types (NFTs, BSV-20 tokens, BSV-21 tokens) through a unified interface. Results include listing prices, details about the assets, and seller information.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'retrieves' listings and includes details like prices and seller info, but fails to describe critical behaviors such as pagination handling (implied by 'offset' and 'limit' parameters), rate limits, authentication requirements, error conditions, or the structure of returned results. For a tool with 14 parameters and no output schema, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized at three sentences, front-loaded with the core purpose. Each sentence adds value: the first states the action and scope, the second details asset types, and the third specifies result contents. There's no redundant information, and it's structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, nested objects, no annotations, no output schema), the description is incomplete. It covers the purpose and result types but lacks essential context such as behavioral traits (e.g., pagination, errors), detailed parameter guidance, and differentiation from siblings. Without an output schema, the description should ideally explain return values, but it only mentions them superficially ('listing prices, details about the assets, and seller information').
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning all 14 parameters lack descriptions in the schema. The description compensates partially by mentioning 'flexible filtering' and listing the types of results included (prices, asset details, seller information), which hints at parameters like 'minPrice', 'maxPrice', and 'tokenType'. However, it doesn't explain the semantics of most parameters (e.g., 'id', 'origin', 'pending'), leaving many undocumented. Baseline is 3 due to some compensation but incomplete coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Retrieves current marketplace listings for Bitcoin SV ordinals with flexible filtering.' It specifies the resource (marketplace listings) and the action (retrieves), and mentions support for multiple asset types. However, it doesn't explicitly differentiate from sibling tools like 'ordinals_marketSales' or 'ordinals_searchInscriptions', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It mentions 'flexible filtering' but doesn't specify scenarios where this tool is preferred over siblings like 'ordinals_marketSales' (which might retrieve sales history) or 'ordinals_searchInscriptions' (which might search inscriptions without marketplace context). No explicit when/when-not instructions or named alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_marketSalesB
Retrieves recent sales data for BSV-20 and BSV-21 tokens on the ordinals marketplace. This tool provides insights into market activity, including sale prices, transaction details, and token information. Supports filtering by token ID, ticker symbol, or seller address to help analyze market trends and track specific token sales.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool 'retrieves recent sales data' and 'provides insights into market activity,' which implies a read-only operation, but doesn't explicitly state this is a query tool with no side effects. It also doesn't disclose rate limits, authentication requirements, data freshness, or pagination behavior (though pagination parameters exist in the schema). The description adds some behavioral context about what data is returned but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences that each add value: first states core purpose, second explains what insights are provided, third describes filtering capabilities and use cases. It's front-loaded with the main purpose and avoids unnecessary repetition. Some minor wordiness exists ('to help analyze market trends and track specific token sales' could be tighter).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (8 parameters in a nested structure, no output schema, no annotations), the description provides basic purpose and filtering context but is incomplete. It doesn't explain the return format, pagination behavior, default tokenType, or what 'recent' means temporally. For a sales data retrieval tool with rich filtering options, more contextual information would be helpful despite the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions filtering 'by token ID, ticker symbol, or seller address' which maps to three of the eight parameters (id, tick, address). However, with 0% schema description coverage, the description doesn't compensate for the undocumented parameters (dir, limit, offset, pending, tokenType). The description adds some semantic value for three parameters but leaves five completely undocumented beyond the schema structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'retrieves recent sales data for BSV-20 and BSV-21 tokens on the ordinals marketplace' with specific verbs ('retrieves', 'provides insights') and resources ('sales data', 'BSV-20 and BSV-21 tokens'). It distinguishes from siblings like ordinals_marketListings (which likely shows current listings rather than completed sales) and ordinals_getTokenByIdOrTicker (which retrieves token metadata rather than sales data), though the differentiation could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating it 'helps analyze market trends and track specific token sales' and mentions filtering capabilities, but doesn't explicitly state when to use this tool versus alternatives like ordinals_marketListings or bsv_getPrice. It provides some guidance through the filtering mention but lacks explicit when/when-not instructions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ordinals_searchInscriptionsB
Searches for Bitcoin SV ordinal inscriptions using flexible criteria. This powerful search tool supports filtering by address, inscription content, MIME type, MAP fields, and other parameters. Results include detailed information about each matched inscription. Ideal for discovering NFTs and exploring the ordinals ecosystem.
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral disclosure. It mentions 'results include detailed information' but doesn't specify what that includes, format, or any limitations. No information about rate limits, authentication needs, error conditions, or pagination behavior beyond what's implied 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero waste - first states purpose, second enumerates capabilities, third provides usage context. Well-structured and appropriately sized for a search tool with multiple parameters. Could be slightly more front-loaded with explicit sibling differentiation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex search tool with 9 nested parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain return format, error handling, performance characteristics, or provide examples. The 'detailed information' claim is too vague for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by listing supported filter criteria: 'address, inscription content, MIME type, MAP fields, and other parameters.' This provides meaningful context about what the args object contains, though it doesn't explain individual parameter purposes or relationships. The description adds value beyond the bare schema but doesn't fully document all 9 nested parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'searches for Bitcoin SV ordinal inscriptions using flexible criteria' with specific verb+resource. It distinguishes from siblings like ordinals_getInscription (specific retrieval) and ordinals_marketListings (market-focused), though not explicitly named. However, it doesn't fully differentiate from potential general search tools like bsv_explore.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('ideal for discovering NFTs and exploring the ordinals ecosystem') but doesn't explicitly state when to use this tool versus alternatives. It mentions 'powerful search tool' but provides no guidance on when to choose it over other search or retrieval tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
utils_convertDataA
Converts data between different encodings (utf8, hex, base64, binary). Useful for transforming data formats when working with blockchain data, encryption, or file processing.
Parameters:
data (required): The string to convert
from (required): Source encoding format (utf8, hex, base64, or binary)
to (required): Target encoding format (utf8, hex, base64, or binary)
Example usage:
UTF-8 to hex: {"data": "hello world", "from": "utf8", "to": "hex"} → 68656c6c6f20776f726c64
UTF-8 to base64: {"data": "Hello World", "from": "utf8", "to": "base64"} → SGVsbG8gV29ybGQ=
base64 to UTF-8: {"data": "SGVsbG8gV29ybGQ=", "from": "base64", "to": "utf8"} → Hello World
hex to base64: {"data": "68656c6c6f20776f726c64", "from": "hex", "to": "base64"} → aGVsbG8gd29ybGQ=
Notes:
All parameters are required
The tool returns the converted data as a string
For binary conversion, data is represented as an array of byte values
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: all parameters are required, returns converted data as a string, and explains binary representation. It doesn't mention error handling, performance characteristics, or side effects, but covers essential operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized. It starts with a clear purpose statement, provides usage context, documents parameters with examples, and adds important notes. Every sentence adds value, and the information is front-loaded with the most important details first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a data conversion tool with no annotations and no output schema, the description does an excellent job covering purpose, parameters, and basic behavior. The examples are particularly helpful. It could be more complete by mentioning error cases or performance considerations, but it provides sufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0% (no parameter descriptions in schema), so the description fully compensates. It clearly documents all three parameters, their required status, valid values for 'from' and 'to' (utf8, hex, base64, binary), and provides multiple examples showing exactly how to use them together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('Converts') and resource ('data between different encodings'), and distinguishes it from sibling tools by focusing on data format transformation rather than blockchain or ordinal operations. The examples further clarify the exact functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use the tool ('useful for transforming data formats when working with blockchain data, encryption, or file processing'), but doesn't explicitly state when NOT to use it or name specific alternatives among sibling tools. The guidance is helpful but not exhaustive.
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.
9 tool updates
v1.0.0- First observed
bsv_decodeTransaction - First observed
bsv_explore - First observed
bsv_getPrice - First observed
ordinals_getInscription - First observed
ordinals_getTokenByIdOrTicker - First observed
ordinals_marketListings - First observed
ordinals_marketSales - First observed
ordinals_searchInscriptions - First observed
utils_convertData
TDQS
Scored across 9 tools
The tools have clear domains (BSV blockchain, ordinals, utilities), but within the bsv_explore tool, many sub-endpoints (e.g., block_by_hash, address_history) are bundled under one tool, which could cause confusion as they represent distinct operations. Other tools like ordinals_getInscription and ordinals_searchInscriptions have overlapping purposes but are differentiated by specific vs. search functionality.
Most tools follow a consistent prefix_snake_case pattern (e.g., bsv_decodeTransaction, ordinals_getInscription, utils_convertData), with clear domain prefixes. However, bsv_explore is an outlier as it groups multiple operations under one name, deviating from the single-action-per-tool convention seen elsewhere.
With 9 tools, the count is reasonable for covering Bitcoin SV blockchain, ordinals, and utilities. However, the bsv_explore tool effectively bundles many sub-operations, making the actual functionality count higher than 9, which could be seen as slightly heavy but still manageable.
The toolset covers key areas: transaction decoding, blockchain exploration, price data, ordinals (inscriptions, tokens, marketplace), and data conversion. Minor gaps include lack of tools for creating or broadcasting transactions, and deeper wallet or smart contract operations, but core read-only and analysis functions are well-represented for the domain.
Maintenance
Related MCP Connectors
OpenAI-compatible LLM MCP (7 tools); chat via balance key or x402 USDC on Base
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Bitcoin and YouTube video intelligence for AI agents. Pay-per-call via x402 USDC on Base.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that extends AI capabilities by providing tools to interact with the Solana blockchain, enabling operations like transactions, account queries, and wallet management.1Apache 2.0
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to interact with MNEE stablecoin on Bitcoin SV, including checking balances, transferring tokens, and querying transaction history in both sandbox and production environments.-

aibtc-mcp-serverofficial
AlicenseNot gradedqualityAmaintenanceA Bitcoin-native MCP server for AI agents that provides 150+ tools for BTC and Stacks operations. Supports wallets, DeFi yield, sBTC peg, NFTs, and x402 payments.470 npm10MIT- AlicenseCqualityDmaintenanceEnables AI applications to interact with the Bitcoin Network, manage wallets, check balances, convert prices, and send transactions.435 npm6MIT