If Claude can just write Python, execute it via bash, and directly manipulate your filesystem... why do you need a structured MCP server? Why MCP still matters: Persistent connections and state — MCP servers can maintain sessions, authentication, caches. Your Blender MCP keeps the scene loaded. Your personal-rag MCP has the vector index warm. An agent spawning fresh Python each time can't do that efficiently. Sandboxing and permissions — MCP gives you granular control. Your filesystem MCP only exposes certain directories. An unconstrained agent with bash access could rm -rf anything. MCP is a permission layer. Structured interfaces — MCP tools have schemas. The model knows exactly what parameters blender:execute_blender_code expects. With pure agentic bash, the model has to figure out CLI flags, output parsing, error handling from scratch each time. Non-code integrations — Your Hugging Face MCP, Google Drive, Sketchfab — these are API wrappers. An agent could write the API calls, but why? The MCP abstracts authentication, pagination, rate limits. Where agentic does reduce MCP's role: For one-off, ad-hoc tasks — especially filesystem manipulation — I often just use bash directly rather than the filesystem MCP. It's faster and more flexible. The likely future: MCP becomes infrastructure for services and state, while agentic handles ad-hoc problem solving. They layer together rather than one replacing the other.
Benefits of MCP Servers over Agentic Solutions
More Relevant Posts
-
𝗜 𝗷𝘂𝘀𝘁 𝘀𝗵𝗶𝗽𝗽𝗲𝗱 𝘀𝗼𝗺𝗲𝘁𝗵𝗶𝗻𝗴 𝗜'𝘃𝗲 𝗯𝗲𝗲𝗻 𝘄𝗮𝗻𝘁𝗶𝗻𝗴 𝘁𝗼 𝗯𝘂𝗶𝗹𝗱 𝗳𝗼𝗿 𝗮 𝗹𝗼𝗻𝗴 𝘁𝗶𝗺𝗲. 🦀 For years I kept running the same ritual on every Python project: install flake8, wire up a security scanner, configure mypy, add vulture for dead code. Four tools. Four configs. Four things to keep updated. So I built 𝗶𝗴𝗻𝘆𝘁, a single Python code quality engine written entirely in Rust, installable with one command. 𝘛𝘩𝘦 𝘨𝘰𝘢𝘭: 𝘰𝘯𝘦 𝘵𝘰𝘰𝘭, 𝘰𝘯𝘦 𝘤𝘰𝘯𝘧𝘪𝘨, 𝘻𝘦𝘳𝘰 𝘰𝘷𝘦𝘳𝘩𝘦𝘢𝘥 𝘢𝘯,𝘥 𝘧𝘢𝘴𝘵 𝘦𝘯𝘰𝘶𝘨𝘩 𝘵𝘩𝘢𝘵 𝘺𝘰𝘶 𝘯𝘦𝘷𝘦𝘳 𝘯𝘰𝘵𝘪𝘤𝘦 𝘪𝘵 𝘳𝘶𝘯𝘯𝘪𝘯𝘨. 𝗪𝗵𝗮𝘁 𝗶𝘁 𝗰𝗮𝘁𝗰𝗵𝗲𝘀 𝗶𝗻 𝗮 𝘀𝗶𝗻𝗴𝗹𝗲 𝗽𝗮𝘀𝘀: 🔒 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆: hardcoded passwords, SQL injection via f-strings, shell injection, unsafe pickle/yaml, eval(), weak hashing, API tokens (AWS, GitHub, Slack patterns) 🧠 𝗧𝘆𝗽𝗲 𝗶𝘀𝘀𝘂𝗲𝘀: missing return annotations, mutable defaults, Optional values used without None checks 💀 𝗗𝗲𝗮𝗱 𝗰𝗼𝗱𝗲: unused imports, variables, arguments, unreachable statements 📊 𝗖𝗼𝗺𝗽𝗹𝗲𝘅𝗶𝘁𝘆: functions that quietly grew to 200 lines, deeply nested logic, too many branches 𝗧𝗵𝗿𝗲𝗲 𝘁𝗵𝗶𝗻𝗴𝘀 𝘁𝗵𝗮𝘁 𝗺𝗮𝗸𝗲 𝗶𝘁 𝗱𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝘁: → Written in Rust. No Python interpreter, no GC pauses. 𝘐𝘵'𝘴 𝘧𝘢𝘴𝘵. → Ships as a binary via PyPI. pip install ignyt and you're done. No system deps. → Auto-fixes what it can. Unused imports, unsorted imports, unsafe yaml.load(), one command cleans them up. 𝗧𝗿𝘆 𝗶𝘁 𝗿𝗶𝗴𝗵𝘁 𝗻𝗼𝘄: pip install ignyt ignyt check . ignyt fix . It's open source, v0.2, and I'm actively working on it. 40 rules across 6 categories, 179 tests, wheels for Linux, macOS, and Windows. If you work with Python and care about code quality give it a try and tell me what you think. 𝘞𝘩𝘢𝘵 𝘳𝘶𝘭𝘦𝘴 𝘢𝘳𝘦 𝘮𝘪𝘴𝘴𝘪𝘯𝘨? 𝘞𝘩𝘢𝘵 𝘥𝘪𝘥 𝘪𝘵 𝘤𝘢𝘵𝘤𝘩 𝘵𝘩𝘢𝘵 𝘴𝘶𝘳𝘱𝘳𝘪𝘴𝘦𝘥 𝘺𝘰𝘶? 🔗 PyPI: https://lnkd.in/dPUBRBMH ⭐ GitHub: https://lnkd.in/dzcMzgaK #Python #Rust #OpenSource #DevTools #SoftwareEngineering
To view or add a comment, sign in
-
I created a Python API lookup tool for IPs and Domains. It's a simple tool that runs your lookups without having to open multiple browser tabs and have only one screen with all the information you need. https://lnkd.in/gD2AyFRH This is part of a bigger project that will lump most of the tools I use for investigations in one place that is simple and easily accessible. You can use this tool as a template to create your own lookup tool. You can also add/remove fields. View the provider API documentation if you would like to make changes. You will have to enter your API keys for this tool to work. Remember to not share your code with your API keys! after entering your API keys, you can run from the master script as is or you can compile the project. This tool shows me the information I need for IP and domain lookups. First, the tool will resolve the IP or domain you enter. This is followed by lookup information from the providers. Lastly, a lookup URL is provided that you can used if you need to view the web version or if you need the link for your notes or documentation.
To view or add a comment, sign in
-
🛠️ TOOL OF THE DAY: Maturin If you're building anything serious in Python that eventually hits a performance wall, this is the tool that changes the game. Maturin lets you write Rust, compile it into a native Python extension, and import it like any other package. No C wrappers. No FFI headaches. Just fast. ────────────────────── 🔗 https://www.maturin.rs ────────────────────── Here's what makes it special: ⚡ Build Rust-backed Python wheels in a single command (maturin develop for dev, maturin build for release) 🦀 Works seamlessly with PyO3, the de facto Rust↔Python binding layer 📦 Publishes directly to PyPI with maturin publish 🔄 Handles mixed Rust/Python projects, you keep your Python API, offload the hot path to Rust 🧵 Your Rust code can release the GIL and run truly parallel CPU work, something pure Python can never do The real use case? You have a Python app that's correct but too slow. Profiling shows one tight loop eating 80% of your runtime. You rewrite that function in Rust, wrap it with PyO3, build with Maturin, and suddenly it runs 10–50x faster, while the rest of your codebase stays in Python. This is exactly how Polars, Pydantic v2, and Ruff are built. The build toolchain has matured significantly. maturin develop now gives you a fast iteration loop that feels close to native Python development. If you're serious about Python performance in 2026, Rust via Maturin is the path. #ToolOfTheDay #Rust #Python #PyO3 #Maturin #RustLang #PythonDev #SoftwareEngineering #DeveloperTools #PerformanceEngineering #BuildInPublic
To view or add a comment, sign in
-
Building a simple MCP server in python. We will learn what Model Context Protocol (MCP) his and how to build a simple, practical FastMCP. Topics. 1. How MCP works, including hosts, clients servers are three core primitives. 2. How to implement MCP tools, resources, and prompts with FastMCP. 3. How to run and test your MCP server using the FastMCP client. Introduction have you ever tried connecting a language model to your own data or tools? if so, you know it often means writing custom integration, managing API shemas, and wrestling with authentication. And every new AI applications can fell like rebuilding the same connection logic from scratch. Model Context Protocol (MCP) solve this by standardizing how large language models(LLMs) and other AI model interact with external systems. FastMCP is a framework that makes building MCP server simple. Understanding the Model Context protocol. how MCP work: MCP has three components. Hosts: are the AI-powered applications users actually interact with. The host can be Claude Desktop, and IDE with AI featured or a custom app you have build. The host contains the language model and initiate connections to MCP server. Clients: connect to server. When a host needs to talk to an MCP servers, it creates a client instance to manage that specific connection. One host can run multiple clients simultaneously each connected to a different server. The client handle all protocol-level communication. Server: are what you build. They expose specific capabilities database access, file operations, API integration and response to client requests by providing tools, resources and prompts.
To view or add a comment, sign in
-
Everyone that works with Python knows the mandatory commands when you open the project folder in a terminal: $ cd project-folder $ source .venv/bin/activate $ pip install -r requirements.txt or uv sync (use uv, it's much better) And sometimes: $ docker compose up But, even being just a few lines, it gets annoying over time. So, initially I wrote a simple bash script that verifies a few things and prepares the environment. It is better, since I only write one line instead of three, but it's still annoying. Happily, recently at work, Denílson Ebling presented me a tool used for automating commands when you enter or leave a directory: direnv. Direnv allows you to write a bash script (and even use some custom built-in commands) to automatically prepare the environment when you enter the directory! And, of course, it "unloads" the env when you leave. All you need to do is write the script (some are already done in direnv documentation) and run "direnv allow". I used a simple python environment as example, but think about big and complex environments, where the incorrect order of the commands can really mess up something. Here is the direnv GitHub page: https://github.com/direnv
To view or add a comment, sign in
-
-
I would even add devenv with direnv: https://devenv.sh/ . That way you can declaratively define your project and dev environment.
Machine Learning Engineer at Zeit | MLOps & Cloud Infrastructure | 2x AWS Certified | ML in Production | Docker | Python
Everyone that works with Python knows the mandatory commands when you open the project folder in a terminal: $ cd project-folder $ source .venv/bin/activate $ pip install -r requirements.txt or uv sync (use uv, it's much better) And sometimes: $ docker compose up But, even being just a few lines, it gets annoying over time. So, initially I wrote a simple bash script that verifies a few things and prepares the environment. It is better, since I only write one line instead of three, but it's still annoying. Happily, recently at work, Denílson Ebling presented me a tool used for automating commands when you enter or leave a directory: direnv. Direnv allows you to write a bash script (and even use some custom built-in commands) to automatically prepare the environment when you enter the directory! And, of course, it "unloads" the env when you leave. All you need to do is write the script (some are already done in direnv documentation) and run "direnv allow". I used a simple python environment as example, but think about big and complex environments, where the incorrect order of the commands can really mess up something. Here is the direnv GitHub page: https://github.com/direnv
To view or add a comment, sign in
-
-
FastAPI with Typer: Building Powerful Command-Line Interfaces In the world of software development, APIs are the backbone of modern applications. However, APIs are not just about serving data; they are also about the tools we use to build, test, and interact with them. Command-line interfaces (CLIs) are powerful tools that allow developers to automate tasks, manage their applications, and interact with APIs directly from their terminal. This tutorial will explore how to build robust CLIs using FastAPI and Typer, a library designed to make creating CLIs in Python easy and efficient....
To view or add a comment, sign in
-
Your codebase is a mess and you know it. Ruff - The fastest Python linter that actually fixes your code automatically What it does: → Finds code quality issues 10-100x faster than other linters → Auto-fixes most issues (no manual cleanup needed) → Replaces 8 different tools (Black, isort, flake8, etc.) → Written in Rust, runs instantly even on huge codebases Setup: uv pip install ruff Cost: $0 (open source) The difference: Running flake8 + black + isort on 50,000 lines: 45 seconds Running ruff on same codebase: 0.3 seconds 150x faster. One command instead of three. Real scenario from this week: Inherited a messy data science repo. 30,000 lines. Inconsistent formatting. Import chaos. Before: Spent 2 hours manually fixing imports and formatting After: ruff check --fix (3 seconds, everything cleaned up) What it catches: - Unused imports - Undefined variables - Formatting inconsistencies - Import sorting - Code complexity issues - Security vulnerabilities The magic: ```bash ruff check . # Shows all issues ruff check --fix . # Fixes everything automatically ruff format . # Formats like Black but faster ``` Works in: - Pre-commit hooks (catches issues before push) - CI/CD pipelines (fails builds on quality issues) - VS Code/PyCharm (real-time feedback) This is what separates hobby projects from production code. Professional Python developers don't manually format code. They automate it and move on to real problems. Ruff makes that effortless. 🔗 https://lnkd.in/gsb2FiZv #Python #CodeQuality #DevTools
To view or add a comment, sign in
More from this author
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development