PnL Labs — Solana Trust & Risk Checks
Server Details
Trust checks for Solana trading: realized-PnL wallet trust, token safety, trade cost, forensics.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- PnLlabs/pnllabs-mcp
- GitHub Stars
- 0
Available Tools
4 toolscheck_token_safetyCheck Token Structural RiskARead-onlyIdempotentInspect
Analyzes structural risk of a Solana token from on-chain data: real-holder concentration with bonding-curve and liquidity-pool accounts excluded, presence of known sniper-bot addresses among early buyers, and a simulated buy/sell round trip to detect honeypot behavior. Returns: verdict (LOW_RISK, ELEVATED, HIGH_RISK, CRITICAL, UNKNOWN), stable reason codes, and top-holder percentages. Scope is structural only; it does not detect risk that exists purely in trading behavior.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint address (base58, 32-44 chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnly/openWorld/idempotent annotations, description discloses methodology (excludes bonding-curve/LP accounts, simulates buy/sell) and output components (verdict, reason codes, percentages). It also notes limitation about trading-behavior risk.
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, front-loaded with the main purpose, then outputs, then scope. No wasted words; each sentence adds essential information.
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 single-param tool with no output schema, description covers behavior, outputs, and limitations well. No significant gaps.
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 already provides 100% description coverage for mint (base58, 32-44 chars), and the description does not add parameter-specific detail. Baseline 3 is appropriate.
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?
Description uses specific verb 'Analyzes structural risk of a Solana token from on-chain data', lists concrete components (holder concentration, sniper bots, honeypot simulation). Clearly distinguishes from sibling wallet/trade cost tools by focusing on token structural risk.
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?
States clear scope ('structural only') and what it does NOT detect ('trading behavior'), which helps choose when to use it. However, it does not explicitly mention alternatives like check_wallet_forensics or check_trade_cost, so it earns a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_trade_costEstimate Trade Execution CostARead-onlyIdempotentInspect
Estimates what a trade of a given size would cost in a Solana token's main liquidity pool. Returns: expected slippage in percent, an estimated round-trip cost calibrated against measured live execution overhead, a recommended maximum size in SOL, pool liquidity, and a verdict (ACCEPTABLE_COST, ELEVATED_COST, HIGH_COST, UNTRADEABLE, NO_POOL, UNKNOWN).
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint address (base58) | |
| size_sol | No | Trade size in SOL (default 0.5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds value by detailing the exact return fields and the verdict enum, and mentions that the round-trip cost is 'calibrated against measured live execution overhead', giving insight into methodology without contradicting annotations.
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 a single, information-dense sentence followed by a list of return values. It is front-loaded with the core purpose and avoids unnecessary words. The return list is slightly long but serves a clear function given the absence of an output schema.
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 absence of an output schema, the description compensates well by enumerating all return components and possible verdicts. It also provides some context on calibration. It does not mention potential errors outside the verdict list, but the verdicts cover no-pool and unknown cases, making it reasonably complete for a read-only estimator.
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 100%, so the baseline is 3. The description does not add much beyond the schema: it references 'a given size' for size_sol but does not describe format or default behavior, which the schema already covers. No additional parameter meaning is provided.
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 estimates trade execution cost in a Solana token's main liquidity pool, listing specific outputs (slippage, round-trip cost, recommended max size, liquidity, verdict). This distinguishes it from sibling tools focused on token safety, wallet forensics, and wallet trust.
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 (when you need to estimate trade cost) but does not explicitly state when to use this tool over alternatives or any exclusions. Sibling names provide context, but there is no direct guidance on selection or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_wallet_forensicsTrace Wallet Funding OriginARead-onlyIdempotentInspect
Traces where a Solana wallet's funding came from and how old it is, using on-chain transfer history. Returns: origin classification (CEX_FUNDED, WALLET_FUNDED, UNKNOWN_ORIGIN, UNVERIFIABLE_ORIGIN), the funding transaction, wallet age, and a fresh_wallet flag.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Solana wallet address (base58, 32-44 chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides useful behavioral details beyond the annotations: it explicitly lists the return fields and classification enum values (CEX_FUNDED, WALLET_FUNDED, etc.) and the use of on-chain transfer history. Annotations already declare this as a safe, read-only, idempotent operation, so the description adds valuable context about what the output looks like without being redundant.
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 exceptionally concise: two sentences, the first stating the tool's function and the second enumerating the return values. Every word contributes 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully compensates by listing all return fields and enum values. The tool is simple (one parameter, read-only) and the description covers purpose, method, and output sufficiently. No significant gaps remain.
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 single parameter (address) is fully described in the schema with format details (base58, 32-44 chars), so schema coverage is 100%. The description doesn't add additional parameter-level semantics, which is acceptable since the schema already carries the burden. Baseline 3 is appropriate.
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 uses a specific verb ('Traces') and clearly identifies the resource (Solana wallet's funding origin and age). It distinguishes itself from sibling tools by focusing on funding forensics through on-chain history, which is unique among the listed wallet-related tools.
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 clearly implies when to use this tool (when you need to know where a wallet's funding came from and its age) but does not explicitly state exclusions or alternatives. The context is clear enough for an agent to infer the use case, though it could mention when not to use it (e.g., for token safety or trade cost analysis).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_wallet_trustCheck Wallet TrustARead-onlyIdempotentInspect
Recomputes the realized SOL profit and loss of a Solana wallet from its on-chain transaction history and returns a trust verdict. Returns: verdict (TRUSTED, NEUTRAL, UNTRUSTED, INSUFFICIENT, UNVERIFIABLE), a confidence level, realized profit/loss in SOL, the number of coins analyzed, stable reason codes, and flags such as known_sniper_bot. Returns UNVERIFIABLE when the history cannot be reconstructed reliably rather than estimating.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Solana wallet address (base58, 32-44 chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond annotations: it enumerates return fields, explains the UNVERIFIABLE verdict, and notes that it recomputes from on-chain history 'rather than estimating.' This complements the read-only/idempotent 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences that front-load the primary action and then detail outputs and edge-case behavior. Every sentence earns its place with no redundancy or filler.
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?
With no output schema, the description compensates by explicitly listing return values (verdict, confidence, P/L, coin count, reason codes, flags) and the special UNVERIFIABLE behavior. It is complete for a tool with one parameter and clear annotations.
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 input schema already has a clear description for the single 'address' parameter with 100% coverage. The tool description does not add additional parameter-level meaning beyond what the schema provides, so the baseline of 3 is appropriate.
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 function: 'Recomputes the realized SOL profit and loss... and returns a trust verdict.' It specifies the exact resource (Solana wallet) and distinguishes from sibling tools like check_token_safety or check_trade_cost by focusing on wallet trust assessment.
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 for evaluating wallet trust based on realized P/L, providing context about what the tool does. However, it does not explicitly mention when to use it over siblings or state exclusions, so it falls 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
- Changed
check_token_safety1 field changed- changed
Input schema / properties / mint / descriptionPrevious value: -"Solana token mint address (base58)"New value: +"Solana token mint address (base58, 32-44 chars)"
- Changed
check_trade_cost1 field changed- changed
Input schema / properties / size_sol / descriptionPrevious value: -"intended trade size in SOL (default 0.5)"New value: +"Trade size in SOL (default 0.5)"
- Changed
check_wallet_forensics1 field changed- changed
Input schema / properties / address / descriptionPrevious value: -"Solana wallet address (base58)"New value: +"Solana wallet address (base58, 32-44 chars)"
- Changed
check_wallet_trust1 field changed- changed
Input schema / properties / address / descriptionPrevious value: -"Solana wallet address (base58)"New value: +"Solana wallet address (base58, 32-44 chars)"
4 tool updates
- First observed
check_token_safety - First observed
check_trade_cost - First observed
check_wallet_forensics - First observed
check_wallet_trust
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Rug pull risk and on-chain forensics for tokens on Solana, Ethereum, Base and Robinhood.
Solana onchain intelligence for AI agents: wallet risk, due-diligence, perps funding, smart money.
Solana pre-trade safety for agents: rug check, honeypot sell-sim, drainer scan, tx preflight.
Solana token safety for AI agents — rug-pull, honeypot & Token-2022 trap detection before you buy.
Related MCP Servers
- AlicenseAqualityBmaintenanceOn-chain Solana token safety for trading agents — traces coordinated wallet funding, same-block Jito bundles, serial-rug deployers and live coordinated dumps into one Exit-Liquidity Risk verdict before a swap. Free tier, then $0.02 USDC/query via x402.1431MIT
- FlicenseAqualityDmaintenanceOn-chain investigation and analysis tools for Solana blockchain, enabling detection of wash trading, funding source tracing, holder concentration analysis, and MEV/bundle activity identification.43-
- FlicenseNot gradedqualityCmaintenanceTrust scoring for AI agents on the Solana agent registry. Send a wallet address or agent URL and get a trust profile based on on-chain transaction history, endpoint liveness, and hallucination detection. Built from 100+ experiments on agent-to-agent trust.-
- AlicenseAqualityBmaintenanceRug pull risk scores and on-chain forensics for memecoins on Solana, Ethereum, Base and Robinhood Chain - launch-bundle detection, funding-origin tracing, deployer history, insider networks and whale flow. 15 read-only tools.23150MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a clearly distinct aspect of risk: token structure, trade costs, wallet funding origin, and wallet profit/loss trust. There is no overlap between the checks; they address different resources (token vs. wallet) and different risk dimensions.
All tool names follow the same verb_noun pattern: check_token_safety, check_trade_cost, check_wallet_forensics, check_wallet_trust. The pattern is consistent and predictable, making it easy to infer the function of each tool.
With exactly four tools, the server is well-scoped for its stated purpose of trust and risk checks. Each tool earns its place, covering the core risk categories without bloat or obvious redundancy.
The set provides comprehensive coverage for the domain: token structural risk, trade cost/liquidity, wallet origin/age, and wallet trust via profit/loss. The checks are complementary and leave no obvious dead ends, given the focus on structural and behavioral risk assessment.