Atlas / MCP servers / hemanth / Paws-on

Paws-onSAFE

mcp/hemanth/paws-on

A comprehensive Model Context Protocol (MCP) server implementing the latest specification.

Verdict
SAFE
Grade
B
Trust score
87 /100
Exposed tools
6 5r · 1w · 0d
Transport
streamable-http
License
—
Stars
327
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

A comprehensive Model Context Protocol (MCP) server implementing the latest MCP 2025-03-26 specification. Demonstrates MCP capabilities including tools, resources, prompts, roots, and enhanced sampling with model preferences. Features HackerNews and GitHub API integrations with AI-powered analysis through advanced MCP sampling.

🎯 Current Status

✅ Production-Ready Core Features (3/5 test suites passing)

  • MCP Tools (9/9) - All tools working perfectly including enhanced sampling
  • MCP Resources (15/15) - All resources working perfectly
  • MCP Prompts (14/14) - All prompt templates working perfectly
  • MCP Protocol Compliance - Full MCP 2025-03-26 specification support
  • Enhanced Sampling - Model preferences and context-aware sampling working

⚠️ Known Limitations

  • MCP Roots - Framework concurrency limitations (functionality works, test infrastructure issues)
  • Enhanced Sampling Tests - Server concurrency constraints under load testing

The core MCP functionality is fully operational and production-ready.

📁 Project Structure

paws-on-mcp/
├── src/                      # Source code
│   ├── mcp_server.py         # Main MCP server (MCP 2025-03-26)
│   └── mcp_cli_client.py     # CLI client for testing
├── tests/                    # Comprehensive test suite
│   ├── run_tests.py          # Complete test runner
│   ├── test_mcp_tools.py     # Tools functionality tests
│   ├── test_mcp_resources.py # Resources tests  
│   ├── test_mcp_prompts.py   # Prompts tests
│   ├── test_mcp_roots.py     # Roots tests (MCP 2025-03-26)
│   └── test_enhanced_sampling.py # Enhanced sampling tests
├── docs/                     # Documentation
│   ├── architecture.md       # Technical architecture
│   ├── blog.md              # Development insights  
│   └── CLI_README.md         # CLI usage guide
├── requirements.txt          # Python dependencies
└── README.md                 # This
Read from source at commit e1c5eb347f14OBSERVED · 2026-10-03
02

Exposed tools (6)

5 read · 1 write · 0 destructive.

ToolRiskDescription
analyze_hackernews_trends_with_aireadAnalyze HackerNews trends using AI through sampling.
code_review_with_aireadGet AI-powered code review insights for a GitHub repository.
create_sampling_requestwriteCreate a sampling request according to MCP 2025-03-26 specification.
get_github_repo_inforeadGet detailed information about a specific GitHub repository.
get_server_promptsreadList all available prompt templates.
search_hackernewsreadSearch HackerNews stories by title.
03

Trust audit

SAFEgrade B · trust 87/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (1 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (8)

MEDIUMAuth / authz · mcp.remote_no_auth · CWE-287, CWE-862
streamable-http
Why it matters. a network transport with no auth environment variable found
Fix. require a token
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:63
The server will start on `http://127.0.0.1:8000/mcp/` with the following startup message:
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:65
🚀 Starting Unified MCP Server on http://127.0.0.1:8000/mcp/
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/CLI_README.md:25
If no server URL is specified, it defaults to `http://127.0.0.1:8000/mcp/`.
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/CLI_README.md:374
python run_tests.py --server http://127.0.0.1:3000 info
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/architecture.md:502
print("🚀 Starting Unified MCP Server on http://127.0.0.1:8000/mcp/")
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
requirements.txt
mcp, pillow, httpx, requests, rich
Why it matters. 5 requirement(s) not pinned with ==
Fix. pin exact versions

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-03 · audit v0.4.1 · source sha e1c5eb347f14full audit observations/trust-audit/mcp-server/hemanth__paws-on.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-03e1c5eb347f14SAFEB87first audit
05

Questions

What is the Paws-on MCP server?

A comprehensive Model Context Protocol (MCP) server implementing the latest specification.

What tools does Paws-on expose?

6 in total: 5 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Paws-on safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (87/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does Paws-on need?

No credential environment variables were found in its source, so it appears to need none.

How does Paws-on run?

It speaks streamable-http, so it runs as a service you connect to over the network.

How current is this page?

The grade is for one exact copy of the source (e1c5eb347f14), read on 2026-10-03. The repository is watched and re-audited when it changes.

Advertisement