AIMFP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| activate_user_directiveA | Set directive status to 'active' and record activated_at timestamp. Does NOT deploy services - AI handles deployment via directive workflow. |
| add_completion_pathC | Add completion path stage |
| add_directive_preferenceB | Add/update user preference for directive |
| add_file_flowsA | Batch-assign multiple files to flows. Skips existing links silently. More efficient than multiple add_file_to_flow calls. |
| add_file_to_flowA | Assign a finalized file to an architectural flow. Every finalized file needs at least one flow assignment to stay architecturally connected. |
| add_file_to_moduleB | Assign a file to a module. Creates module_files junction entry. Same pattern as add_file_to_flow. |
| add_files_to_moduleA | Batch assign multiple files to modules. More efficient than multiple add_file_to_module calls. Skips duplicates silently, fails fast on missing entities. |
| add_flowC | Add project flow |
| add_interactionA | Record a dependency between two functions by name (call, chain, borrow, compose, pipe). Interactions are how the AI traces dependency graphs. |
| add_interactionsA | Batch-record function dependencies by ID. More efficient than multiple add_interaction calls for tracking all cross-function dependencies. |
| add_itemA | Create a single work item under a task, subtask, or sidequest. Items are the smallest trackable units of work. |
| add_itemsA | Batch-create multiple work items under a single parent in one call. All items created with status 'pending'. |
| add_milestoneB | Add milestone to completion path |
| add_moduleA | Create a new module (reusable code boundary). A module maps to a directory. Files are assigned explicitly via add_file_to_module. Use external_dependencies to record wrapped libraries. |
| add_noteA | Record a decision, architecture change, or context event in the project's audit trail. Supports typed notes with optional directive linking. |
| add_project_entryC | Add new entry to project database |
| add_settings_entryB | Add entry to user settings database |
| add_sidequestA | Create an urgent interruption that pauses the current task. Use for bug fixes, blockers, or unexpected work discovered mid-task. |
| add_subtaskA | Create a focused sub-unit of work under a parent task. The parent is paused until all subtasks complete. |
| add_taskA | Create a task under a milestone with flow associations. Tasks are created ONE at a time as work progresses, not all at once. |
| add_themeC | Add project theme |
| add_tracking_noteA | Add tracking note to user_preferences.db (only when tracking enabled) |
| add_types_functionsA | Link tracked types to the functions that use them with a role (factory, transformer, validator, etc.). Enables 'what functions use TypeX?' queries. |
| add_user_custom_entryB | Add entry to user_directives.db table. Returns inserted record with ID. |
| add_user_directive_noteC | Add note to user_directives.db notes table for AI record-keeping |
| add_user_settingA | Add new project-wide user setting to user_settings table |
| aimfp_endA | Session termination orchestrator. Gathers session audit data: reads watchdog state and final reminders, queries all files and functions from DB for AI to cross-reference, reads recent notes and task state. Stops watchdog process if running. Returns structured audit data for AI to interpret and act on. No analysis logic — AI determines what is stale or missing. |
| aimfp_initA | Phase 1 mechanical setup orchestrator for project initialization. Atomically creates directories, databases with schemas, and templates. No deep logic - pure mechanical operations. |
| aimfp_runA | Main entry point orchestrator. Called on session start (is_new_session=true) for full context bundle, and at work checkpoints (is_new_session=false) for watchdog alerts only. |
| aimfp_statusA | Status orchestrator that retrieves comprehensive project state. Gathers data from multiple tables for AI to determine next steps. |
| batch_update_progressA | Update multiple project items atomically. Used after code generation or bulk operations to ensure consistency. |
| blueprint_has_changedA | Check if ProjectBlueprint.md has changed using Git or filesystem timestamp |
| clear_watchdogA | Clear watchdog reminders after they have been reviewed and handled. Reminders persist in .aimfp-project/watchdog/reminders.json until this is called. Call after addressing all watchdog findings (file deletions, unregistered files, etc.). |
| core_allowed_check_constraintsA | Returns list of allowed values for CHECK constraint enum fields in aimfp_core.db. Parses schema to extract CHECK(field IN (...)) constraints. |
| create_projectB | Initialize project entry (one per database) |
| create_state_databaseA | Create per-project state database (.state/runtime.db) from SQL schema. FP-compliant replacement for mutable global variables. |
| create_user_branchB | Create work branch following aimfp-{user}-{number} convention |
| deactivate_user_directiveA | Set directive status to 'paused'. Does NOT stop services - AI handles service shutdown via directive workflow. |
| delete_completion_pathB | Delete completion path with milestone validation |
| delete_custom_return_statementA | Delete custom return statement(s) for a helper function. By ID, by text, or all for a helper. |
| delete_fileB | Delete file with comprehensive cross-reference validation |
| delete_flowB | Delete flow with file validation |
| delete_functionB | Delete function with validation and interaction cascade |
| delete_interactionD | Delete interaction |
| delete_itemC | Delete item with status validation |
| delete_milestoneB | Delete milestone with task validation |
| delete_moduleA | Delete a module. CASCADE removes module_files junction entries. Files themselves are NOT deleted. |
| delete_noteB | Delete note (discouraged) |
| delete_project_entryC | Smart delete with automatic routing to specialized functions when needed |
| delete_reservedA | Delete abandoned reserved entries (escape hatch for cancelled reserve operations) |
| delete_settings_entryA | Delete entry from user_preferences.db table |
| delete_sidequestA | Delete sidequest with item validation (same logic as delete_task) |
| delete_subtaskB | Delete subtask with item validation (same logic as delete_task) |
| delete_taskB | Delete task with item validation |
| delete_themeB | Delete theme with flow validation |
| delete_typeB | Delete type with relationship validation |
| delete_type_functionC | Remove type-function relationship |
| delete_user_custom_entryA | Delete entry from user_directives.db table |
| detect_conflicts_before_mergeA | Dry-run merge analysis - retrieves potential conflict data for AI to evaluate |
| detect_external_changesB | Compare current Git HEAD with project.last_known_git_hash |
| execute_mergeB | Execute git merge and return result. Updates work_branches table on success. |
| file_has_changedA | Check if file changed using Git (if available) or filesystem timestamp |
| finalize_fileA | Mark a reserved file as tracked after writing it to disk. Triggers flow assignment and function/type tracking checks. |
| finalize_filesA | Batch-finalize multiple reserved files after writing them to disk. All-or-nothing operation. |
| finalize_functionA | Mark a reserved function as tracked after writing it. Triggers interaction and type-function relationship checks. |
| finalize_functionsA | Batch-finalize multiple reserved functions after writing them. Triggers interaction and type-function checks for all. |
| finalize_typeA | Finalize reserved type after creation |
| finalize_typesC | Finalize multiple reserved types |
| find_directive_by_intentA | Match a natural-language user request to the most relevant directive(s). Use when the user describes what they want and you need to find which directive handles it. |
| find_directives_by_intent_keywordA | Find directive IDs matching one or more intent keywords (direct keyword lookup) |
| get_active_user_directivesA | Get all user directives with status='active'. Convenience query for checking active directive count. |
| get_all_completion_pathsA | Get the project's ordered completion roadmap (stages from setup through completion). Each path contains milestones which contain tasks. |
| get_all_directive_keywordsA | Get list of all unique intent keywords available for searching (simple list) |
| get_all_directive_namesA | Get list of all directive names (or filtered by types). Returns names only, NOT full directive data. AI queries by name when needs details. |
| get_all_directivesA | Load all directives for caching (special orchestrator) |
| get_all_flowsA | Get all project flows (architectural groupings describing intended behavior). Check BEFORE starting any task to understand the architecture. |
| get_all_infrastructureA | Get all infrastructure entries including standard fields (even if empty). Returns complete infrastructure table for session bundling and status reports. |
| get_all_intent_keywords_with_countsA | Get all unique intent keywords with usage counts for analytics |
| get_all_modulesA | Get all modules in the project. Returns list of all module records sorted by name. |
| get_all_themesA | Get all project themes (high-level architectural areas). Use to orient on project structure before starting work. |
| get_categoriesA | Get all directive categories |
| get_category_by_nameB | Get category by name (fairly frequent) |
| get_claude_permissionsA | Returns the Claude Code allowlist (.claude/settings.local.json contents) that pre-approves every AIMFP MCP tool, so the user is not prompted once per tool on first use. Allowlist is derived live from the tool registry so it can never drift. Does NOT write any file — returns ready-to-write JSON + target path; the AI writes/merges it, keeping AIMFP's 'never write outside .aimfp-project/' guarantee intact. Call when the user asks to set up AIMFP permissions or skip approval prompts. |
| get_completion_loop_targetC | Get where to loop back after completing directive |
| get_completion_paths_by_statusA | Get completion paths filtered by status |
| get_core_fieldsA | Get field names and types for a specific table |
| get_core_schemaA | Get complete schema for core database (all tables and fields) |
| get_core_tablesA | List all tables in core database |
| get_current_branchA | Get current Git branch name |
| get_current_commit_hashA | Get current Git HEAD commit hash |
| get_current_progressB | Single entry point for scoped project status queries. Replaces 5-10 separate helper calls with one flexible query. |
| get_databasesA | Get list of all available databases with metadata |
| get_directive_by_nameA | Load a directive's workflow steps, preferences, and linked notes by name. ALWAYS call BEFORE executing any workflow — directives are the authoritative source, not memory. |
| get_directive_contentA | Read and return the full MD documentation file for a directive. Resolves the md_file_path from aimfp_core.db to an absolute path within the installed package, reads the file, and returns content + absolute path + token estimate. |
| get_directive_flowsA | General-purpose query for directive flows by category, type, or directive names. Complements navigation helpers (get_next_directives_from_status, etc.) which are specialized for workflow routing. |
| get_directive_keywordsA | Get all intent keywords for a specific directive |
| get_directives_by_categoryA | Get all directives in a category |
| get_directives_by_typeB | Get all directives filtered by type (orchestration vs reference) |
| get_directives_for_helperA | Get all directives that use a helper (reciprocal lookup) |
| get_directives_with_intent_keywordsB | Search directives by intent keywords and return full directive objects |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/aryanduntley/aimfp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server