Skip to main content
Glama

build_clarity_smart_contract

Get comprehensive resources for developing Clarity smart contracts on Stacks blockchain, including SIP standards, security patterns, and best practices to guide your contract creation process.

Instructions

Build a Clarity smart contract - returns comprehensive resources for Clarity development including SIP standards, security patterns, and best practices. Use this tool when you need guidance on building smart contracts for Stacks.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler implementation for the 'build_clarity_smart_contract' tool. It reads and returns markdown content from the 'clarity' and 'tokens' resource directories providing guidance for building Clarity smart contracts.
    server.addTool({ name: "build_clarity_smart_contract", description: "Build a Clarity smart contract - returns comprehensive resources for Clarity development including SIP standards, security patterns, and best practices. Use this tool when you need guidance on building smart contracts for Stacks.", parameters: z.object({}), execute: async () => { const content = await readAllMarkdownFromDirectories([ "clarity", "tokens", ]); return { text: content || "No content found in clarity and tokens directories.", type: "text", }; }, });
  • src/server.ts:121-136 (registration)
    Registration of the 'build_clarity_smart_contract' tool using FastMCP server.addTool method.
    server.addTool({ name: "build_clarity_smart_contract", description: "Build a Clarity smart contract - returns comprehensive resources for Clarity development including SIP standards, security patterns, and best practices. Use this tool when you need guidance on building smart contracts for Stacks.", parameters: z.object({}), execute: async () => { const content = await readAllMarkdownFromDirectories([ "clarity", "tokens", ]); return { text: content || "No content found in clarity and tokens directories.", type: "text", }; }, });
  • Helper function used by the tool handler to read and combine all markdown files from the specified directories ('clarity', 'tokens').
    export async function readAllMarkdownFromDirectories( dirNames: string[] ): Promise<string> { let combinedContent = ""; for (const dirName of dirNames) { const dirPath = pathJoin(resourcesDir, dirName); const dirContent = await readAllMarkdownFromDirectory(dirPath); if (dirContent.trim()) { combinedContent += `# ${dirName.toUpperCase()} RESOURCES\n\n`; combinedContent += dirContent; } } return combinedContent; }
  • Supporting helper function that reads all markdown files from a single directory, used by readAllMarkdownFromDirectories.
    export async function readAllMarkdownFromDirectory( dirPath: string ): Promise<string> { let content = ""; try { if (!fs.existsSync(dirPath)) { return `Directory not found: ${dirPath}`; } const files = fs.readdirSync(dirPath); const markdownFiles = files.filter( (file: string) => extname(file).toLowerCase() === ".md" ); for (const file of markdownFiles) { const filePath = pathJoin(dirPath, file); try { const fileContent = await readFile(filePath, "utf-8"); content += fileContent + "\n\n---\n\n"; } catch (error) { console.error(`Error reading file ${filePath}:`, error); content += `Error reading file: ${file}\n\n---\n\n`; } } return content; } catch (error) { console.error(`Error reading directory ${dirPath}:`, error); return `Error reading directory: ${dirPath}`; } }

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/exponentlabshq/stacks-clarity-mcp'

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