Kinesis_Multitools

InSawyerSteps/Kinesis_Multitools

3.3

If you are the rightful owner of Kinesis_Multitools and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Kinesis Multitools is a robust, extensible MCP server designed for IDE-integrated code intelligence, semantic code search, and canonical code pattern management.

Tools
  1. index_project_files

    Incremental semantic indexing of project files for search.

  2. search

    Multi-modal codebase search (keyword, semantic, ast, references, similarity, task_verification).

  3. cookbook_multitool

    Unified tool for capturing and searching canonical code patterns.

  4. File read/list utilities

    Safe listing and reading of project files.

Kinesis Multitools

Kinesis Multitools is a robust, extensible MCP server for IDE-integrated code intelligence, semantic code search, and canonical code pattern management. Built for reliability and security, it enables both developers and AI agents to analyze, search, and interact with codebases efficiently—while remaining open to new tool ideas from the community.

Key Features

  • Modern FastMCP Backend:
    • Uses fastmcp==2.9.2 for maximum performance and compatibility (see requirements.txt).
  • Supported MCP Tools:
    • index_project_files: Incremental semantic indexing of project files for search (see .windsurf/rules/indexing.md).
    • search: Multi-modal codebase search (keyword, semantic, ast, references, similarity, task_verification; see .windsurf/rules/search.md).
    • cookbook_multitool: Unified tool for capturing and searching canonical code patterns.
    • File read/list utilities: Safe listing and reading of project files.
  • Reliable by Design: All tools run in isolated processes with hard timeouts, preventing hangs and ensuring the server remains responsive.
  • Incremental Indexing: Only changed files are re-embedded, making semantic search fast and efficient.
  • Secure & Sandboxed: All file operations are validated to ensure they remain within the configured project root.
  • Extensible: A development guide (tooldevguide.md) provides a blueprint for adding new capabilities.

Installation

Clone the repository and install dependencies:

git clone https://github.com/[your-username]/Kinesis-Multitools.git
cd Kinesis-Multitools
pip install -r requirements.txt

Dependency Note: All required libraries and versions are listed in requirements.txt. Key packages include:

  • fastmcp==2.9.2
  • mcp==1.9.4
  • pydantic[email]==2.11.7
  • pydantic-settings==2.5.2
  • ollama==0.5.1
  • fastapi==0.115.9
  • uvicorn[standard]==0.30.6
  • faiss-cpu==1.11.0
  • sentence-transformers==4.1.0
  • jedi==0.19.2
  • chromadb==1.0.5
  • onnxruntime==1.21.1
  • numpy==2.3.1
  • tokenizers==0.21.1
  • pylint==3.2.2
  • mypy==1.16.1
  • bandit==1.8.5
  • vulture==2.11
  • radon==6.0.1
  • libcst==1.2.0
  • rich==14.0.0
  • typer==0.15.2
  • python-dotenv==1.1.0
  • requests==2.32.3

All dependencies are up-to-date as of July 2025. For GPU support, see the torch install instructions in requirements.txt.

Windsurf IDE Configuration

Configure the MCP server in your mcp_config.json:

"kinesis_multitools": {
  "command": "C:\\Projects\\MCP Server\\.venv\\Scripts\\fastmcp.exe",
  "args": [
    "run",
    "C:\\Projects\\MCP Server\\src\\toolz.py",
    "--transport", "stdio"
  ],
  "env": {},
  "disabled": false
}

Note: Ensure the command path points to the correct fastmcp.exe in your .venv.

Usage

To run the server:

python src/toolz.py

The server will start on http://localhost:8000.

Supported Tools

  • index_project_files: Incremental semantic indexing for search.
  • search: Multi-modal codebase search (keyword, semantic, ast, references, similarity, task_verification).
  • cookbook_multitool: Unified tool for capturing and searching canonical code patterns.
  • File read/list utilities.

Removed tools:

  • The legacy analyze and edit tools have been removed for stability. Only the tools above are supported in this release.

For details on tool usage and extension, see tooldevguide.md.


Canonical Patterns in the Cookbook

The following key patterns from src/toolz.py are now available in the project Cookbook for rapid reuse and code consistency. Use the cookbook_multitool to search for or add these patterns to new projects:

Pattern NameFunction NameDescription
secure_project_file_listinglist_project_filesCanonical function for recursively listing files in a project, with robust filtering and validation.
safe_file_read_with_validationread_project_fileSafely reads a file, enforcing project root constraints and handling text/binary content.
incremental_vector_indexingindex_project_filesEfficiently indexes project files for semantic search, only embedding changed/added files.
multimodal_search_dispatchunified_searchUnified entrypoint for multi-modal codebase search with robust error handling.
process_timeout_and_error_decoratortool_process_timeout_and_errorsDecorator for process-based timeout and error handling for MCP tools.
thread_timeout_and_error_decoratortool_timeout_and_errorsDecorator for thread-based timeout and error handling for MCP tools.
secure_path_validation_is_safe_pathValidates that a path is within the configured project root(s), preventing unauthorized access.
batch_embedding_with_lazy_model_embed_batchBatch embedding logic with lazy model loading and device selection.

Indexing the Project

Several of the /search subtools rely on a FAISS vector index generated from your source files. This index is stored in a hidden folder named .windsurf_search_index inside the project root. If the index does not exist, embedding‑based modes such as semantic, similarity and task_verification return an error:

Index not found for project. Please run 'index_project_files' first.

Run the indexing tool whenever you update your code so that these subtools have up‑to‑date embeddings. Indexing is incremental and will only reprocess files that changed.

Start by indexing your project:

POST http://localhost:8000/index_project_files
Content-Type: application/json

{
  "project_name": "MCP-Server"
}

Example response:

{
  "status": "success",
  "message": "Project 'MCP-Server' indexed incrementally.",
  "files_scanned_and_included": 150,
  "unchanged_files": 140,
  "updated_files": 10,
  "deleted_files": 0,
  "total_chunks_indexed": 1250,
  "indexing_duration_seconds": 15.75
}

Searching the Codebase

Send a request to /search with the desired search_type and query.

Example – semantic search:

POST http://localhost:8000/search
Content-Type: application/json

{
  "search_type": "semantic",
  "query": "how does the server handle user authentication?",
  "project_name": "MCP-Server",
  "params": {
    "max_results": 5
  }
}

Example – AST search for a function definition:

POST http://localhost:8000/search
Content-Type: application/json

{
  "search_type": "ast",
  "query": "unified_search",
  "project_name": "MCP-Server",
  "params": {
    "target_node_type": "function"
  }
}

Roadmap

Roadmap & Community Involvement:

We welcome suggestions and contributions for new tools! If you have an idea for a code intelligence, search, or automation tool that would benefit the community, please open an issue or submit a pull request.

  • index_project_files: Incremental semantic indexing of project files for search (see .windsurf/rules/indexing.md).
  • search: Multi-modal codebase search (keyword, semantic, ast, references, similarity, task_verification; see .windsurf/rules/search.md).
  • cookbook_multitool: Unified tool for capturing and searching canonical code patterns (see below).
  • File read/list utilities.

Code Cookbook Multitool

The cookbook_multitool is a unified endpoint for capturing and searching canonical code patterns ("golden patterns") in your project. It replaces the older add_to_cookbook and find_in_cookbook tools.

Purpose

  • Add a function's source and metadata to the project cookbook for future reuse and consistency.
  • Find patterns by name, description, or function name for rapid code reuse and enforcement of best practices.

Usage

Send a request to /cookbook_multitool with the desired mode:

Add a Pattern
{
  "mode": "add",
  "pattern_name": "My Golden Pattern",
  "file_path": "C:/Projects/MCP Server/src/toolz.py",
  "function_name": "_is_safe_path",
  "description": "A canonical function for secure path validation."
}
Find a Pattern
{
  "mode": "find",
  "query": "secure path"
}

Response

  • On success, returns a status and message (for add), or a list of matching patterns (for find).
  • All cookbook patterns are stored as JSON files in .project_cookbook/ in the project root.

See the developer guide for advanced usage and schema details.

License

This project is licensed under the MIT License. See the file for details.