coldfusion-mcp
v0.3.0
Published
MCP server for semantic + structural analysis of ColdFusion codebases
Downloads
236
Maintainers
Readme
coldfusion-mcp
MCP server for semantic and structural analysis of ColdFusion (CFML) codebases. Provides 8 tools for searching, tracing dependencies, explaining components, and finding SQL usage across multi-application CF projects.
Built on Model Context Protocol for use with Claude Code, Claude Desktop, and other MCP-compatible clients.
Prerequisites
- Node.js >= 20.6.0
- Redis running locally (for graph caching)
- OpenAI API key (for embeddings with
text-embedding-3-large) - Pinecone account (for vector storage)
Installation
Via npx (recommended)
No installation needed. Configure directly in your MCP client:
{
"mcpServers": {
"cf-codebase": {
"command": "npx",
"args": ["-y", "coldfusion-mcp"],
"env": {
"OPENAI_API_KEY": "sk-...",
"PINECONE_API_KEY": "pcsk_...",
"PINECONE_INDEX_NAME": "cf-codebase",
"REDIS_URL": "redis://localhost:6379",
"CF_CODEBASE_PATH": "/path/to/your/coldfusion/codebase"
}
}
}
}Global install
npm install -g coldfusion-mcpThen configure your MCP client to use the coldfusion-mcp command.
Configuration
All configuration is via environment variables passed through your MCP client's env block:
| Variable | Required | Description |
|----------|----------|-------------|
| CF_CODEBASE_PATH | Yes | Path to the ColdFusion codebase root |
| OPENAI_API_KEY | Yes | OpenAI API key for embeddings |
| PINECONE_API_KEY | Yes | Pinecone API key for vector storage |
| PINECONE_INDEX_NAME | Yes | Pinecone index name (e.g., cf-codebase) |
| REDIS_URL | No | Redis connection URL (default: redis://localhost:6379) |
| CF_MANIFEST_PATH | No | Path to codebase-manifest.json (auto-detected if not set) |
| CF_INCLUDE_GLOB | No | File patterns to index (default: **/*.{cfm,cfc}) |
| CF_EXCLUDE_GLOB | No | File patterns to skip (default: **/node_modules/**,**/.git/**) |
Tools
| Tool | Description |
|------|-------------|
| search_codebase | Semantic search across the CF codebase using vector embeddings |
| trace_dependencies | Trace structural dependencies (callers/callees) of a component |
| get_component_api | Get the full public API of a ColdFusion component |
| find_sql_usage | Find all components that query a given database table |
| explain_component | Get an LLM-generated explanation of what a component does |
| find_similar_code | Find existing code similar to a description to prevent duplicates |
| get_index_status | Get health and freshness status of the search index |
| refresh_index | Trigger re-indexing of the ColdFusion codebase |
Initial Setup
Start Redis:
docker compose up -d redisInitialize the Pinecone index:
npx coldfusion-mcp # or: node dist/server.jsThen use the
refresh_indextool from your MCP client to build the initial index.
Development
git clone https://github.com/swa34/coldFusion-MCP.git
cd coldFusion-MCP
npm install
cp .env.example .env # fill in your API keys
docker compose up -d redis
npm run devHow It Works
- Tree-sitter parses ColdFusion files into ASTs using CFML grammar (WASM)
- OpenAI generates embeddings with
text-embedding-3-large(3072 dimensions) - Pinecone stores and queries vectors for semantic search
- Redis caches the dependency graph and component metadata
- The MCP server exposes all analysis capabilities as callable tools
License
MIT
