Self MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| explain_self_integrationA | Explain how to integrate Self for a specific use case with step-by-step guidance. Args: use_case: The integration scenario - 'airdrop', 'age-verification', or 'humanity-check' Returns: Detailed explanation with steps and code examples |
| generate_verification_codeB | Generate ready-to-use Self verification code for different components. Args: component: Which part to generate - 'frontend-qr', 'backend-verify', or 'smart-contract' language: Programming language - 'typescript', 'javascript', or 'solidity' Returns: Complete, working code example with comments |
| debug_verification_errorB | Diagnose Self verification errors and provide solutions. Args: error_message: The error message you're encountering context: Optional hint about the error type Returns: Detailed explanation of the problem and how to fix it |
| check_self_statusB | Check Self protocol deployment status and contract addresses |
| generate_verification_configC | Generate a complete verification configuration based on requirements |
| explain_sdk_setupB | Explain Self SDK backend setup requirements and configuration. Args: topic: What to explain - 'config-storage', 'user-id-type', 'attestation-ids', or 'full-setup' ctx: FastMCP context for logging Returns: Detailed explanation with code examples |
| generate_eu_id_verificationB | Generate code for EU ID card verification (Self V2 feature). Args: component: Which part to generate - 'frontend', 'backend', or 'smart-contract' language: Programming language - 'typescript', 'javascript', or 'solidity' ctx: FastMCP context for logging Returns: Complete code example for EU ID card verification |
| fetch_self_docsA | Fetch latest Self protocol documentation from GitHub. This tool retrieves up-to-date documentation directly from the Self protocol documentation repository, ensuring you always have the latest information. Available topics:
|
| list_docs_topicsA | List all available documentation topics and their descriptions. This tool shows you all the documentation topics you can fetch with the fetch_self_docs tool. |
| search_docsB | Search through Self protocol documentation for specific terms. This tool searches across all documentation files to find relevant information about your query. |
| generate_scope_hashA | Generate a scope hash for Self verification, replicating hashEndpointWithScope. Args: address_or_url: Either an Ethereum address (0x...) or HTTPS URL scope_seed: Scope identifier (max 20 chars, lowercase ASCII only) Returns: Dictionary with scope_hash, validation status, and input type |
| generate_config_idB | Generate a configuration ID for Self protocol verification. This replicates the generateConfigId function from the smart contract. |
| read_hub_configA | Read configuration from Self protocol Hub contract with full decoding. |
| guide_to_toolsB | Guide users to appropriate tools.self.xyz features for write operations. |
| list_country_codesA | List available country codes for exclusion in Self protocol. Returns ISO 3166-1 alpha-3 country codes with their names. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| design-verification-flow | Help design a custom Self verification flow |
| troubleshoot-integration | Interactive troubleshooting for Self integration issues |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_contract_addresses | Get deployed Self protocol contract addresses |
| get_best_practices | Get Self protocol integration best practices |
TDQS
Scored across 15 tools
Most tools have distinct purposes, but there is some potential overlap between 'explain_sdk_setup' and 'explain_self_integration' as both provide explanatory guidance, and 'generate_verification_code' and 'generate_eu_id_verification' both generate code examples. However, their specific scopes (general vs. EU ID) and the clear descriptions help differentiate them effectively.
The naming is mostly consistent with a verb_noun pattern (e.g., 'check_self_status', 'fetch_self_docs', 'generate_scope_hash'), but there are minor deviations like 'guide_to_tools' (noun_verb) and 'read_hub_config' (verb_noun_noun). These inconsistencies are slight and do not significantly hinder readability or predictability.
With 15 tools, the count is well-scoped for a server focused on Self protocol integration, documentation, and code generation. Each tool appears to serve a specific, non-redundant purpose within this domain, making the set comprehensive without being overwhelming.
The toolset covers key aspects of Self protocol integration, including status checks, documentation access, configuration generation, and code examples. Minor gaps exist, such as the lack of tools for direct write operations (e.g., deploying contracts or updating configurations), but the 'guide_to_tools' tool helps redirect users appropriately, mitigating this issue.