Skip to main content
Glama
index.ts1.71 kB
/** * local-explorer-mcp MCP Server * Provides local file system research capabilities using Linux commands */ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { registerTools, registerPrompts } from './tools/toolsManager.js'; import { pathValidator } from './security/pathValidator.js'; const INSTRUCTION = `Purpose: fast local files/dirs search Tools: - local_view_structure: Directory overview for discovery - local_find_files: Find paths by name/time/size/perm (metadata). Use before content reads and for search - local_ripgrep: Content search by petterns/regex + byte offsets - local_fetch_content: Extract sections or paginate content from file Search Workflow: ripgrep → fetch_content. Explore Workflow: view_structure/find_files → ripgrep → fetch_content.`; async function main(): Promise<void> { const server = new McpServer( { name: 'local-explorer-mcp', version: '1.0.0', }, { capabilities: { tools: {}, prompts: {}, }, instructions: INSTRUCTION, } ); const workspaceRoot = process.env.WORKSPACE_ROOT || process.cwd(); pathValidator.addAllowedRoot(workspaceRoot); registerTools(server); registerPrompts(server); process.on('SIGINT', () => process.exit(0)); process.on('SIGTERM', () => process.exit(0)); process.on('uncaughtException', (_error) => { process.exit(1); }); process.on('unhandledRejection', (_reason) => { process.exit(1); }); const transport = new StdioServerTransport(); await server.connect(transport); } main().catch((_error) => { process.exit(1); });

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/bgauryy/local-explorer-mcp'

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