Metadata-Version: 2.4
Name: llm_to_mcp_integration_engine
Version: 0.1.0
Summary: A robust integration engine that enhances communication between LLMs and MCP servers/functions with validation, retries, and safety.
Author-email: Michael Alamin <michaelalamin9@gmail.com>
Maintainer-email: Michael Alamin <michaelalamin9@gmail.com>
License: Not open source
Project-URL: homepage, https://github.com/Million19/llm_to_mcp_integration_engine
Project-URL: bugs, https://github.com/Million19/llm_to_mcp_integration_engine/issues
Project-URL: changelog, https://github.com/Million19/llm_to_mcp_integration_engine/blob/master/changelog.md
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Typing :: Typed
Description-Content-Type: text/markdown
License-File: AUTHORS.rst
Requires-Dist: typer>=0.9
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: coverage; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

 

# llm_to_mcp_integration_engine

## 🔍 What is `llm_to_mcp_integration_engine`?

`llm_to_mcp_integration_engine` is a new idea for a communication layer between LLMs and MCP servers or functions.  

It enhances the reliability of tool calling by ensuring tools are selected, validated, and executed correctly before triggering any external process.  

It searches for tool selection indicators (`SELECTED_TOOLS`, `SELECTED_TOOL`, `NO_TOOLS_SELECTED`) in the LLM's response and validates them against a predefined tool list.

---

## 🚀 What is new about `llm_to_mcp_integration_engine`?

The llm_to_mcp_integration_engine distinguishes itself by effectively handling unstructured outputs and incorporating dynamic parsing and retry mechanisms(RETRY_PROMPT,CHANGE_LLM_IN_RETRY), offering a more flexible and resilient solution for LLM-tool integration.

---

## ❓ Why do we need `llm_to_mcp_integration_engine`?

- LLMs often misformat or misorder tool calls, leading to failures.  
- Tool execution must be validated before triggering any MCP server or function.  
- This protocol brings **clarity**, **control**, and **reliability** to LLM-tool integrations.

---

 ## ❌ Is there an existing communication layer?

**No.**  
This is a **novel invention**. We introduced the **LLM2MCP protocol**, a first-of-its-kind communication framework that connects LLMs to MCP servers or functions in a **structured, validated, and controllable** way.  

What makes it new:

- **Dual Registration**: Tools/functions are listed in both the LLM prompt and the engine, ensuring alignment and consistency.
- **Non-JSON Tolerance**: Even when the LLM response is not fully JSON, the engine can still extract valid tool selections using regex and logic-based checks.
- **Retry Framework**: If validation fails (missing tools, incorrect formats, etc.), the engine can retry with a new prompt or even switch to a different LLM.
- **Fine-Grained Failure Detection**: Developers can diagnose exactly where the LLM fails — whether in selecting the right tool, formatting parameters, or transitioning to tool execution.
- **Execution Safety**: The engine ensures no tool or MCP server is called unless the response is valid and verified.

This bundling of validation, fallbacks, control logic, and robustness into a **single integration engine** is what makes it a **new invention**.

---

## ⚙️ How to Use It

### 📦 Install via pip

```bash
pip install llm_to_mcp_integration_engine
```

### ✅ Default Usage

```python
from llm_to_mcp_integration_engine import llm_to_mcp_integration_default

llm_to_mcp_integration_default(
    tools_list=my_tools_list,
    llm_respons=response_from_llm,
    json_validation=True
)
```

### 🔧 Advanced Usage

```python
from llm_to_mcp_integration_engine import llm_to_mcp_integration_advance

llm_to_mcp_integration_advance(
    tools_list=my_tools_list,
    llm_respons=response_from_llm,
    json_validation=True,
    no_tools_selected=True,
    multi_stage_tools_select=True
)
```

### 🧠 Custom Usage (e.g., for agentic HTML/CSS tools)

```python
from llm_to_mcp_integration_engine import llm_to_mcp_integration_custom

llm_to_mcp_integration_custom(
    tools_list=my_tools_list,
    llm_respons=response_from_llm,
    json_validation=True
)
```

---

## ✅ Benefits of Using `llm_to_mcp_integration_engine`

- **Flexible Response Handling**  
- **Reliable Tool Execution**  
- **Reliable Programmatic Validation**  
- **Improved Tool Chaining**  
- **Synergy with Reasoning Techniques (e.g., Chain-of-Thought)**  
- **Handles "No Tools Needed" Scenarios**  
- **Error Detection and Retry Mechanism**  
- **Failure Diagnostics & Monitoring**  
- **Cost Optimization via Tiered LLM Usage**  
- **Standardization of LLM-to-Tool Interfaces**  

> 💡 Also includes dynamic LLM switching on failure for enhanced robustness and cost-efficiency.

---

## 📜 License

You are free to **use** this engine for personal and research purposes.  
However, **you are not allowed to modify or distribute** it without **explicit permission from the author**.

 
