chore: delete Agno dead code (Phase 1)

Closes #307

Agno was imported by nothing, had undefined-variable bugs,
and was not a declared dependency.

Removed:
- agentic_security/agents/ (operator_agno.py)
- docs/mcp_agno_integration.md
- .gitignore reference to operator_agno.py

No agno references remain in source code.
Pre-existing test failures (missing tabulate module) confirmed
unrelated to this change via git stash verification.
This commit is contained in:
Aniket
2026-06-11 23:10:27 +05:30
parent 13b03b958f
commit 5ccab6ba3b
3 changed files with 3 additions and 157 deletions
+3 -1
View File
@@ -19,9 +19,11 @@ docx/
agentic_security.toml
/venv
*.csv
agentic_security/agents/operator_agno.py
.claude/
plan.md
auto_loop.sh
agentic_security/static/elm-stuff/
agentic_security/static/node_modules/
.cache/
COMMIT_MSG.txt
View File
-156
View File
@@ -1,156 +0,0 @@
# MCP + Agno Integration
This guide shows how to use Agentic Security's MCP server with [Agno](https://docs.agno.com/tools/mcp) agents.
## Setup
Install Agentic Security with optional Agno support:
```bash
pip install agno
```
## Starting the MCP Server
Start the Agentic Security MCP server:
```bash
python -m agentic_security.mcp.main
```
For production, use the stdio transport (default with FastMCP):
```bash
python agentic_security/mcp/main.py
```
## Examples
### Basic Verification with Agno
```python
import asyncio
from agno.agent import Agent
from agno.tools.mcp import MCPTools
from agentic_security.mcp.main import mcp
async def verify_llm_spec():
# Connect to Agentic Security's MCP server via stdio
mcp_tools = MCPTools(
command="python",
args=["agentic_security/mcp/main.py"],
)
await mcp_tools.connect()
try:
agent = Agent(
tools=[mcp_tools],
instructions=[
"You are a security testing assistant.",
"Use verify_llm to test LLM specifications for vulnerabilities.",
"Present results clearly with risk levels.",
],
markdown=True,
)
await agent.aprint_response(
"Verify this LLM spec: openai/gpt-4",
stream=True,
)
finally:
await mcp_tools.close()
asyncio.run(verify_llm_spec())
```
### Running a Security Scan
```python
import asyncio
from agno.agent import Agent
from agno.tools.mcp import MCPTools
async def run_security_scan():
mcp_tools = MCPTools(
command="python",
args=["agentic_security/mcp/main.py"],
)
await mcp_tools.connect()
try:
agent = Agent(
tools=[mcp_tools],
instructions=[
"You are an LLM security scanning assistant.",
"Use start_scan to initiate security scans on LLM endpoints.",
"Use get_data_config to check available scan configurations.",
"Report findings with severity levels.",
],
markdown=True,
)
await agent.aprint_response(
"Run a security scan on openai/gpt-4 with max budget 100",
stream=True,
)
finally:
await mcp_tools.close()
asyncio.run(run_security_scan())
```
### Streamable HTTP Transport
```python
import asyncio
from agno.agent import Agent
from agno.tools.mcp import MCPTools
async def run_http_transport():
mcp_tools = MCPTools(
transport="streamable-http",
url="http://0.0.0.0:8718/mcp",
)
await mcp_tools.connect()
try:
agent = Agent(
tools=[mcp_tools],
markdown=True,
)
await agent.aprint_response(
"List available security scan templates",
stream=True,
)
finally:
await mcp_tools.close()
asyncio.run(run_http_transport())
```
## Available Tools
| Tool | Description |
|---|---|
| `verify_llm` | Verify an LLM model specification |
| `start_scan` | Start an LLM security scan |
| `stop_scan` | Stop an ongoing scan |
| `get_data_config` | Retrieve data configuration |
| `get_spec_templates` | Retrieve LLM specification templates |
## Notes
- The stdio transport is recommended for local development
- For production deployments, use the streamable-http transport
- Always call `mcp_tools.close()` to clean up connections