AMOCA Solana MCP Server

by manolaz
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Integrates Mermaid diagram support for visualizing system architecture and workflow components, as shown in the README flowchart of the AMOCA system.

  • Utilizes Shields.io badges in the documentation to display project status and compatibility information.

  • Provides comprehensive RPC tools for Solana blockchain development, including account operations, wallet management, transaction analysis, storage calculations, and on-chain validations.

AMOCA(자율적 메리트 온 체인 에이전트)

이 저장소는 모델 컨텍스트 프로토콜(MCP)을 기반으로 하는 Solana 개발을 위한 AMOCA(Autonomous Merit On Chain Agent) 구현을 보여줍니다.

목차

AMOCA란 무엇인가요?

AMOCA(Autonomous Merit On Chain Agent)는 표준화된 인터페이스를 통해 솔라나 블록체인 개발에 향상된 기능을 제공하는 지능형 에이전트입니다. 이 구현은 다음을 보여줍니다.

  1. Solana를 위한 포괄적인 RPC 방법:
    • 기본 계좌 작업(getBalance, getAccountInfo, getTransaction)
    • 온체인 스토리지 계산(getMinimumBalanceForRentExemption)
    • 지갑 작업(createWallet, importWallet)
  2. DeFi 거래 기능:
    • 토큰 잔액 확인(단일 토큰 및 전체 포트폴리오 분석)
    • USD 기반 히스토그램을 사용한 토큰 가치 분포 시각화
    • Jupiter API의 가격 데이터를 활용한 포트폴리오 가치 추적
    • 토큰 스왑을 위한 Jupiter API 통합
    • 견적 검색 및 스왑 실행
  3. Solana 개발을 위한 유용한 자율 워크플로:
    • 거래 분석 프롬프트(실패 진단, 비용 분석)
    • 보관 비용 계산
    • Solana 설치 및 클러스터에 대한 문서 액세스
  4. 온체인 운영의 장점 기반 검증 및 확인

지엑스피1

특징

  • Solana RPC 도구 : 계정 정보 쿼리, 잔액 확인 및 거래 분석
  • 지갑 관리 : Solana 지갑 생성 및 가져오기
  • 거래 도구 : 토큰 스왑 실행, 토큰 가격 확인, 포트폴리오 분석
  • Helius API 통합 : 향상된 Solana 데이터 액세스를 위해 Helius의 강력한 API 활용

솔라나 모델 컨텍스트 프로토콜(MCP)

이 저장소는 Solana 개발을 위한 MCP(Model Context Protocol) 서버의 간단한 구현을 보여줍니다.

MCP란 무엇인가요?

모델 컨텍스트 프로토콜(MCP)은 AI 모델이 도구 및 리소스와 상호 작용할 수 있도록 하는 표준화된 인터페이스입니다. 이 데모에서는 다음을 제공하는 간단한 MCP 서버 구현을 보여줍니다.

  1. Solana의 기본 RPC 메서드(getBalance, getAccountInfo, getTransaction)
  2. Solana 개발을 위한 몇 가지 유용한 프롬프트

필수 조건

  • Node.js(v16 이상 권장)
  • pnpm 패키지 관리자(v9.10.0 또는 호환)
  • Solana CLI(선택 사항이지만 권장됨)

설치

이 저장소를 복제하고 종속성을 설치하세요.

git clone https://github.com/manolaz/amoca-solana-mcp-server.git cd solana-dev-mcp pnpm install

MCP 검사기에서 이 서버를 실행하려면 다음을 사용하세요.

npx @modelcontextprotocol/inspector ts-node index.ts

시작하기

  1. 환경 변수 설정 : API 키를 사용하여 .env.example 템플릿을 기반으로 .env 파일을 만듭니다.
cp .env.example .env # Edit .env with your API keys
  1. 코드 탐색 : 주요 구현은 index.ts 에 있으며, 간단한 가져오기 도구와 몇 가지 프롬프트를 사용하여 MCP 서버를 설정합니다.
  2. 서버 수정 : 더 많은 도구, 리소스, 프롬프트를 추가하여 서버를 확장할 수 있습니다.
  3. 구현 테스트 : 테스트 모음을 실행하여 모든 것이 제대로 작동하는지 확인합니다.
pnpm test

사용 예

이 섹션에서는 Claude 에서 Solana MCP 서버를 사용하는 방법을 설명합니다. WindsurfCursor 에서 Solana MCP 서버를 사용하는 방법과 동일한 단계를 따르세요.

구성 파일을 생성합니다

이 Solana MCP 서버를 사용하려면 Claude가 서버에 연결하는 데 사용할 수 있는 구성 파일을 생성해야 합니다. 다음 명령 중 하나를 실행하여 구성 파일을 생성하세요.

  • ts-node 전역적으로 설치되어 있는 경우 pnpm generate-config
  • ts-node 전역적으로 설치되지 않은 경우 pnpm build && pnpm generate-config:js

이렇게 하면 다음 내용이 포함된 JSON 구성이 인쇄됩니다.

ts-node 가 있는 경우:

{ "mcpServers": { "solana-dev": { "command": "ts-node", "args": ["<full-path-to-repo>/index.ts"] } } }

ts-node 전역적으로 설치되지 않은 경우:

{ "mcpServers": { "solana-dev": { "command": "node", "args": ["<full-path-to-repo>/dist/index.js"] } } }

Claude와 함께 AMOCA 사용

프로젝트 구조

  • index.ts - 메인 서버 구현
  • package.json - 프로젝트 종속성 및 메타데이터
  • tsconfig.json - TypeScript 구성

Solana 개발을 위한 MCP 확장 아이디어

이 MCP 서버 구현은 사용자의 Solana 개발 요구에 맞춰 확장하거나 포크할 수 있는 기반을 제공합니다. 시작하기 위한 몇 가지 아이디어는 다음과 같습니다.

확장을 위한 아이디어

  1. 우선순위 수수료 추정기 : 최근 네트워크 활동을 기반으로 Solana 거래에 대한 최적의 우선순위 수수료를 추정하는 도구를 추가합니다. 이를 통해 사용자는 적시에 처리되는 동시에 거래 비용을 최적화할 수 있습니다.
  2. Solana Verify Debugger : 검증 프로세스에 대한 보다 자세한 정보를 제공하여 solana-verify 의 문제를 디버깅하는 데 도움이 되는 도구를 만듭니다.
  3. Solana Security.txt Inspector : 특정 Solana 프로그램의 security.txt 파일 정보를 추출하여 표시하는 도구를 만들어 보안 문제가 있을 때 프로그램 유지 관리자에게 더 쉽게 연락할 수 있도록 해줍니다.
  4. 프로그램 배포를 위한 Squads Helper : Solana 프로그램의 배포 및 업그레이드 프로세스를 자동화하는 도구를 만들어 여러 환경에서 프로그램 상태를 보다 쉽게 관리할 수 있도록 해줍니다.
  5. 앵커 오류 설명 : 오류 코드를 받아서 앵커 오류 코드 데이터베이스에서 해당 사람이 읽을 수 있는 오류 메시지를 찾는 도구를 개발합니다.
  6. 향상된 프롬프트 : 서버의 프롬프트 기능을 확장하여 Solana 개발 작업에 대한 더욱 상황 인식적인 제안을 제공합니다. 예를 들어, 일반적인 거래 패턴, 계정 생성 또는 토큰 작업에 대한 프롬프트를 추가할 수 있습니다.
  7. 거래 빌더 : 여러 지침이 포함된 복잡한 거래를 구성하는 데 도움이 되는 도구를 만들어 다양한 Solana 프로그램과 쉽게 상호 작용할 수 있도록 합니다.
  8. 사용자 정의 RPC 엔드포인트 : 개인 RPC 공급자나 로컬 검증기에 대한 지원을 포함하여 사용자 정의 RPC 엔드포인트 구성을 허용합니다.
  9. 프로그램 배포 도우미 : Solana 프로그램의 배포 및 업그레이드 과정을 단순화하는 도구를 만듭니다.
  10. 계정 및 거래 탐색기 : 계정 또는 거래 ID를 입력받아 탐색기 뷰와 유사하게 사람이 읽을 수 있는 형식으로 표시하는 도구를 추가합니다. 이 기능은 데이터를 직접 디코딩하지 않고도 거래 데이터나 계정 상태를 확인하는 데 유용할 수 있습니다.
  11. Solana, Anchor 및 Protocol 문서 : Solana, Anchor 및 Protocol 문서를 MCP 편집기에 직접 로드하는 리소스를 추가하여 편집기를 벗어나지 않고도 관련 정보에 쉽게 액세스할 수 있도록 합니다. 이는 각 저장소에서 문서를 가져와 MCP 서버에서 리소스로 제공하는 방식으로 구현할 수 있습니다.

기여 방법

다른 사람들에게 유용할 만한 확장 기능을 개발했다면 이 저장소에 풀 리퀘스트를 제출해 보세요. 다음 지침을 꼭 준수해 주세요.

  1. 코드를 잘 문서화하세요
  2. 새로운 기능에 대한 테스트를 포함합니다
  3. 기존 코드 스타일을 따르세요
  4. 추가 사항에 대한 정보로 README를 업데이트하세요.

Helius API 도구

이 프로젝트는 강력한 Solana 데이터 액세스를 위해 다양한 Helius API 엔드포인트를 통합합니다.

디지털 자산 표준(DAS) API

도구설명
getAssetsByOwner특정 주소가 소유한 NFT를 받으세요
getAssetID로 특정 NFT에 대한 자세한 정보를 얻으세요
getAssetsByGroup특정 그룹(예: 컬렉션)에 속하는 자산을 가져옵니다.
searchAssets복잡한 쿼리 매개변수를 사용하여 자산 검색
getAssetProof압축된 NFT에 대한 머클 증명을 얻으세요
getAssetsByCreator특정 제작자 주소로 생성된 자산 가져오기
getAssetsByAuthority업데이트 권한 주소로 자산 가져오기
getNftEditions마스터 에디션 NFT의 모든 에디션을 받으세요

컬렉션 및 민트 API

도구설명
getMintlist컬렉션을 위한 민트리스트를 받으세요

웹훅 관리

도구설명
getAllWebhooksHelius API 키에 대한 모든 웹훅을 가져옵니다.
getWebhookByID웹훅 ID로 웹훅 세부 정보 가져오기
createWebhook주소 활동 모니터링을 위한 새로운 웹훅을 만듭니다.
createCollectionWebhookNFT 컬렉션을 모니터링하기 위한 웹훅을 만듭니다.
deleteWebhookID로 웹훅 삭제

네트워크 및 유틸리티 도구

도구설명
getCurrentTPSSolana에서 초당 현재 거래 내역을 확인하세요
getTokenHolders특정 토큰의 소유자를 민트 주소로 가져오기
getPriorityFeeEstimate거래에 대한 예상 우선 수수료를 받으세요
getStakeAccounts소유자 주소로 스테이크 계정을 가져옵니다.
getComputeUnits총 컴퓨팅 단위 소비량을 얻기 위해 트랜잭션을 시뮬레이션합니다.

향상된 프롬프트

서버에는 일반적인 Helius 관련 작업에 대한 특수 프롬프트가 포함되어 있습니다.

즉각적인설명
collection-analysisNFT 컬렉션에 대한 자세한 분석을 받아보세요
monitor-nft-collectionNFT 수집 활동을 모니터링하기 위한 웹훅 설정
network-statusSolana 네트워크 상태 정보 가져오기

사용 예

주소가 소유한 NFT 받기

const response = await server.tools.getAssetsByOwner({ ownerAddress: "GoodboiNft5iFNhbgKkf1RX2VdMqKvt5xYxyVh3zf9okx", });

NFT 컬렉션 분석

const response = await server.prompts["collection-analysis"]({ collectionAddress: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w", });

네트워크 상태 모니터링

const response = await server.prompts["network-status"]({});

특허

MIT

ID: 45zdw9yqs7