← Discover MCPs and Agents
I
MCPAI & MLGitHub

IA-agent-with-tools---

Autonomous local AI agent. Ollama, FastAPI, React 19. ReAct pattern, file upload, IDE project reader, and MCP integration.

Links

README

From the repo.


Python React FastAPI Ollama Pinecone Google Cloud Vite Status


🤖 Local AI Agent with Tool Use

An autonomous AI agent with tool use capabilities running 100% locally.

Enhanced with MCP-SERVER-PRO for professional tool integration.


🇺🇸 The source code — variables, functions, and comments — is written entirely in American English.


How It Works  •  Features  •  Tech Stack  •  Getting Started  •  Configuration  •  Deployment




🧩  About the Project

This project is a deep dive into the ReAct (Reasoning and Acting) pattern — built from scratch, without relying on high-level AI frameworks like LangChain.

The goal was to create an agent that doesn't just talk, but actually executes actions to find information and perform tasks. It uses a manual implementation of the reasoning loop, where the LLM decides which tool to invoke, processes the output, and continues reasoning until it reaches a final answer.

Now integrated with the Model Context Protocol (MCP), the agent can leverage professional-grade tools via MCP-SERVER-PRO for database management, spreadsheet manipulation, and more.




⚡  How It Works


         User Question
               ↓
      LLM Reasons (Thought)
               ↓
   Action Selection (Tool Call)
               ↓
  Tool Execution (Local / MCP)
               ↓
     Observation (Tool Output)
               ↓
      LLM Final Answer (Result)

The backend exposes a /chat endpoint. On each request, the agent runs the full ReAct loop — reasoning, selecting a tool, executing it, and feeding the result back — until a final answer is reached.




✨  Features


IconFeatureDescription
🛠Manual ReAct PatternReasoning loop implemented from scratch — no abstractions
📂Smart File UploadNew frontend button to upload files directly; agent reads them using file_reader.py
💻IDE Project ReaderAdvanced feature to read any local project by setting the workspace_root path
🌐Web Search ToolReal-time search powered by DuckDuckGo
🔢Calculator ToolAccurate math operations executed via code
🔌MCP IntegrationProfessional tools via MCP-SERVER-PRO
🚀FastAPI BackendLightweight, async API handling all agent logic
🔒100% LocalPowered by Ollama — data never leaves your machine



🛠️  Tech Stack


TechnologyRole
React 19Frontend UI with new File/IDE integration buttons
ViteFrontend build tool
FastAPIBackend API framework
OllamaLocal LLM engine
MCPModel Context Protocol integration
DuckDuckGo SearchWeb search capability
PydanticData validation



📦  Prerequisites

Before getting started, make sure you have the following installed:




🚀  Getting Started


1 — Pull the required model

ollama pull llama3.2   # or your preferred model

2 — Clone the repository

git clone https://github.com/EduhxH/IA-agent-with-tools---.git
cd IA-agent-with-tools---/agente-ia-local

3 — Set up the backend

cd backend
python -m venv .venv

# Activate the virtual environment
source .venv/bin/activate    # Linux / Mac
.venv\Scripts\activate       # Windows

pip install -r requirements.txt

4 — Set up the frontend

cd ../frontend
npm install

5 — Run the project

# Terminal 1 — Backend (inside /backend)
uvicorn api.app:app --reload --port 8000

# Terminal 2 — Frontend (inside /frontend)
npm run dev

ServiceURL
Frontendhttp://localhost:5173
Backendhttp://localhost:8000



⚙️  Configuration

The backend is configured via environment variables. Create a .env file inside backend/:

OLLAMA_BASE_URL=http://localhost:11434   # default Ollama address
OLLAMA_MODEL=llama3.2                    # model used for inference
WORKSPACE_ROOT=C:/your/project/path      # configurable path for IDE reader

No API keys required. Everything runs locally through Ollama.




☁️  Deployment

This project is also deployed in the cloud:


PlatformURL
🌐  Vercel (Frontend)ia-agent-with-tools.vercel.app
🚂  Railway (Backend)ia-agent-with-tools-production.up.railway.app

⚠️ The deployed version uses a remote LLM provider. For full privacy, run the project locally with Ollama.




📁  Project Structure

agente-ia-local/
│
├── backend/
│   ├── agent/
│   │   ├── agent.py            # ReAct loop logic
│   │   └── ollama_client.py    # Ollama HTTP client
│   ├── api/
│   │   └── app.py              # FastAPI routes & app setup
│   ├── tools/                  # Core tool implementations (file_reader.py, etc.)
│   └── requirements.txt
│
├── frontend/
│   ├── src/                    # React components with Upload/IDE UI
│   └── vite.config.js
│
└── .gitignore



🧠  What I Learned

  • The inner workings of the ReAct pattern and how agentic reasoning loops are structured.
  • Manual tool-calling implementation using structured system prompts.
  • Integration with the Model Context Protocol (MCP) for professional toolsets.
  • Implementing File Upload logic to allow agents to process user-provided data.
  • Creating a Dynamic IDE Reader to allow AI interaction with any local workspace.
  • Designing a clean, decoupled architecture with FastAPI and React 19.



Made with 💜 by EduhxH

Collected info

  • 0 stars
  • Language: Python
  • Source updated: 5/6/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.