atxtechbro / atxtechbro/dotfiles
feat: universal MCP tool call logging (Phase 1 - MCP servers only)
- Dominant language
- Shell
- Stars
- 27
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## User Story
As a developer using MCP tools, I expect every MCP tool call to be logged consistently, not just Git operations, so I can debug issues and understand tool usage patterns.
## Current State
- Only `git-mcp-server` implements tool-level logging
- Logs to `~/mcp-tool-calls.log` with structured format
- Other MCP servers (GitHub, Filesystem, Brave, etc.) have no tool logging
- Dashboard can only show Git operations
## Phase 1 Focus (Subtraction Creates Value)
Following the principles of subtraction-creates-value and versioning-mindset, we'll focus ONLY on Phase 1:
- Add logging to existing MCP servers
- Prove the pattern works across languages
- Learn what's actually needed before over-engineering
## Key Questions to Answer
### Cross-Language Viability
- **Is a universal logger possible when MCP servers use different languages?**
- Python (git-mcp-server, filesystem)
- JavaScript/TypeScript (github, gdrive)
- Go (potential future servers)
- **What's the minimal shared interface?**
### Auto-Logging for New Servers
- **Can we make logging automatic when adding new MCP servers?**
- **What's the least configuration needed?**
- **Can wrapper scripts handle this transparently?**
## Implementation Plan (Phase 1 Only)
### 1. Analyze Language Patterns
- Study existing Python implementation in `git-mcp-server`
- Identify minimal logging interface across languages
- Document patterns for each language
### 2. Add Logging to One JavaScript Server
- Start with `github-mcp-server` as proof of concept
- Create JavaScript equivalent of `logging_utils.py`
- Test cross-language log format compatibility
### 3. Wrapper Script Enhancement
- Can wrapper scripts add logging without modifying server code?
- Explore stdout/stderr capture patterns
- Test performance impact
### 4. Document Findings
- Answer: Is universal logging viable across languages?
- Answer: Can new servers be auto-logged?
- Create minimal template for each language
## Success Criteria (Simplified)
- [ ] At least 2 MCP servers have tool-level logging (Python + JS)
- [ ] Logs use consistent format across languages
- [ ] Dashboard shows data from multiple servers
- [ ] Clear answer on cross-language viability
- [ ] Clear answer on auto-logging possibility
## Benefits (Phase 1)
- Learn what actually works before building abstractions
- Identify real constraints vs imagined ones
- Build working examples in multiple languages
- Inform whether Phase 2/3 are even needed
## Non-Goals (Versioning Mindset)
- DO NOT create complex proxy layers yet
- DO NOT modify Claude Code native tools
- DO NOT build elaborate configuration systems
- DO NOT over-engineer before proving basics work
## Next Steps
1. Pick one JavaScript MCP server for proof of concept
2. Implement minimal logging following Git patterns
3. Test and document language-specific challenges
4. Make go/no-go decision on universal viability
This focused approach will quickly reveal whether universal MCP logging is technically feasible across languages and whether auto-logging for new servers is achievable without configuration overhead.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the existing Python implementation in git-mcp-server and logging_utils.py, then inspect github-mcp-server and the wrapper scripts. Define and test a shared log format across the Python and JavaScript servers, evaluate wrapper capture behavior, and document whether universal or automatic logging is viable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, python, shell, typescript
- Domain
- devtools, observability, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100