Skip to content

Commit f291ea3

Browse files
committed
Claude code .dxt file
1 parent 4770a93 commit f291ea3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+7897
-537
lines changed

β€Ž.claude/settings.local.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(claude settings)",
5+
"WebFetch(domain:github.com)",
6+
"WebFetch(domain:github.com)",
7+
"WebFetch(domain:github.com)",
8+
"Bash(mkdir:*)",
9+
"Bash(chmod:*)",
10+
"WebFetch(domain:www.anthropic.com)",
11+
"Bash(ls:*)",
12+
"WebFetch(domain:support.anthropic.com)",
13+
"Bash(find:*)",
14+
"Bash(npm audit:*)",
15+
"Bash(python -m pip list:*)",
16+
"Bash(python3 -m pip list:*)",
17+
"Bash(grep:*)",
18+
"Bash(npm install)",
19+
"Bash(poetry run pip:*)",
20+
"Bash(node:*)",
21+
"Bash(echo:*)",
22+
"Bash(./package-dxt.sh)",
23+
"Bash(python3:*)",
24+
"Bash(realpath:*)",
25+
"Bash(./install-dxt.sh:*)",
26+
"Bash(npm test)",
27+
"Bash(npx:*)",
28+
"Bash(timeout 30 npx @modelcontextprotocol/inspector --cli server/index.js --method initialize)",
29+
"Bash(timeout 15 npx @modelcontextprotocol/inspector --cli node server/index.js --method initialize)",
30+
"Bash(rm:*)",
31+
"Bash(npm install:*)",
32+
"Bash(dxt:*)",
33+
"Bash(cp:*)",
34+
"Bash(rg:*)",
35+
"Bash(timeout 30 npx @modelcontextprotocol/inspector --cli node server/index.js --method initialize)",
36+
"Bash(timeout:*)",
37+
"Bash(/dev/null)",
38+
"WebFetch(domain:docs.anthropic.com)",
39+
"Bash(claude mcp add:*)",
40+
"Bash(claude mcp:*)",
41+
"Bash(npm run lint)",
42+
"Bash(NEO4J_PASSWORD=test_password node server/index.js --help 2 >& 1)",
43+
"Bash(NEO4J_PASSWORD=test_password node mcp-test.js 2 > /dev/null)",
44+
"WebFetch(domain:modelcontextprotocol.io)"
45+
],
46+
"deny": []
47+
}
48+
}

β€Ž.dxtignore

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# DXT Ignore File - Auto-Compact Optimization
2+
3+
# Documentation site files
4+
_site/
5+
6+
# Git repository
7+
.git/
8+
9+
# Previous packages and backups
10+
*.dxt
11+
*.zip
12+
*.backup
13+
*.bak
14+
15+
# Test and development files
16+
test_*.js
17+
test_*.json
18+
*_test.js
19+
*_test.json
20+
final_*.json
21+
VALIDATION_REPORT.json
22+
validate-dxt.js
23+
24+
# Development artifacts
25+
.devcontainer/
26+
.codacy.yaml
27+
.pre-commit-config.yaml
28+
pmd-rules.xml
29+
Makefile
30+
31+
# Logs and temporary files
32+
*.log
33+
standalone_test.log
34+
auth_test.log
35+
error_test.log
36+
security_test.log
37+
test_output.log
38+
39+
# Python development files (not needed for Node.js DXT)
40+
scripts/
41+
mypy.ini
42+
pyrightconfig.json
43+
pytest.ini
44+
45+
# Docker and deployment
46+
Dockerfile
47+
docker-compose*.yml
48+
helm/
49+
smithery.yaml
50+
51+
# Documentation duplicates and extras
52+
docs_src/
53+
CONTRIBUTING.md
54+
ROADMAP.md
55+
SECURITY.md
56+
status.html
57+
index.html
58+
MCP_INSPECTOR_ISSUES.md
59+
MCP_TESTING_PLAN.md
60+
MCP_TESTING_RESULTS.md
61+
FINAL_VALIDATION_REPORT.md
62+
CLAUDE_REQUIREMENTS_ALIGNMENT.md
63+
CLAUDE_SUBMISSION_GUIDE.md
64+
CLAUDE_SUBMISSION_READY.md
65+
DXT_README.md
66+
67+
# Old manifests and configs
68+
manifest.json.backup
69+
config.py
70+
mcp-test.js
71+
install-dxt.sh
72+
package-dxt.sh
73+
setup_claude_connection.py
74+
75+
# Integration examples (keeping core only)
76+
integrations/
77+
78+
# Markdown documentation in .md folder
79+
.md/
2.46 MB
Binary file not shown.

β€ŽCLAUDE_REQUIREMENTS_ALIGNMENT.md

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
# Claude Desktop Extensions - Requirements Alignment
2+
3+
## 🎯 Current Status vs. Claude Requirements
4+
5+
### ❌ **Requirements Gaps to Address**
6+
7+
#### 1. **License Requirement**
8+
- **Required**: MIT License
9+
- **Current**: Apache License 2.0
10+
- **Action**: Change license to MIT
11+
12+
#### 2. **Platform Requirement**
13+
- **Required**: Built with Node.js
14+
- **Current**: Python backend + Node.js DXT wrapper
15+
- **Action**: Convert to pure Node.js implementation
16+
17+
#### 3. **GitHub Profile Linking**
18+
- **Required**: "author" field pointed at GitHub profile
19+
- **Current**: Basic author info
20+
- **Action**: Update manifest.json author field
21+
22+
### βœ… **Requirements Already Met**
23+
- **βœ… Publicly available on GitHub**: Repository is public
24+
- **βœ… Valid manifest.json**: Complete and properly structured
25+
- **βœ… Professional implementation**: Production-ready code quality
26+
27+
## πŸ”§ **Required Changes**
28+
29+
### 1. License Update
30+
31+
Change from Apache 2.0 to MIT License:
32+
33+
```bash
34+
# Replace LICENSE file content
35+
```
36+
37+
### 2. Convert to Pure Node.js Implementation
38+
39+
**Current Architecture**: Python backend + Node.js MCP wrapper
40+
**Required Architecture**: Pure Node.js MCP server
41+
42+
**Options**:
43+
A. **Standalone Node.js Version** (Recommended)
44+
- Implement core scientific reasoning in Node.js
45+
- Use Neo4j Node.js driver directly
46+
- Integrate external APIs (PubMed, Google Scholar) via Node.js
47+
- Remove Python dependency entirely
48+
49+
B. **Hybrid Approach** (Alternative)
50+
- Keep Python backend as optional enhancement
51+
- Implement basic reasoning capabilities in Node.js
52+
- Make Python backend an optional advanced feature
53+
54+
### 3. Update Manifest Author Field
55+
56+
```json
57+
{
58+
"author": {
59+
"name": "SaptaDey",
60+
"email": "sapta@example.com",
61+
"url": "https://github.com/SaptaDey"
62+
}
63+
}
64+
```
65+
66+
### 4. Add Best Practice Compliance
67+
68+
#### Performance Requirements:
69+
- βœ… **Response Time**: Current 30s timeout (meets <1s for simple ops)
70+
- βœ… **Error Handling**: Comprehensive error management
71+
- βœ… **Uptime**: Stateless design supports 99%+ uptime
72+
73+
#### User Experience Requirements:
74+
- βœ… **Unique Tool Names**: All 4 tools have unique, descriptive names
75+
- βœ… **Clear Purposes**: Each tool has detailed descriptions
76+
- **❌ Example Prompts**: Need 3+ example prompts (currently have 2)
77+
78+
#### Security Requirements:
79+
- βœ… **Secure Implementation**: No external auth needed for local operation
80+
- βœ… **Privacy**: All processing happens locally
81+
- **❌ Privacy Policy**: Need to add privacy policy
82+
83+
## πŸš€ **Recommended Implementation Strategy**
84+
85+
### Option A: Pure Node.js Scientific Reasoning (Recommended)
86+
87+
Create a standalone Node.js implementation that doesn't require Python:
88+
89+
```javascript
90+
// Core scientific reasoning using:
91+
// - Neo4j Node.js driver for graph operations
92+
// - OpenAI/Anthropic APIs for LLM reasoning
93+
// - Axios for external API calls (PubMed, Google Scholar)
94+
// - Built-in graph analysis algorithms
95+
```
96+
97+
**Benefits**:
98+
- βœ… Meets Claude's Node.js requirement
99+
- βœ… Simpler installation (no Python dependency)
100+
- βœ… Better performance for desktop integration
101+
- βœ… Easier maintenance and distribution
102+
103+
**Implementation Plan**:
104+
1. Port core reasoning logic to Node.js
105+
2. Implement Neo4j graph operations
106+
3. Add external API integrations
107+
4. Maintain same tool interfaces
108+
5. Keep existing error handling and logging
109+
110+
### Option B: Document Python Requirement Exception
111+
112+
**Alternative approach**: Request exception for Python backend requirement since:
113+
- Scientific computing often requires Python
114+
- Neo4j + Python ecosystem is mature for research
115+
- Your implementation is already production-ready
116+
117+
## πŸ“‹ **Action Items for Compliance**
118+
119+
### Immediate Changes (1-2 hours):
120+
1. **βœ… Update LICENSE** to MIT
121+
2. **βœ… Update manifest.json** author field with GitHub URL
122+
3. **βœ… Add third example prompt** to meet 3+ requirement
123+
4. **βœ… Create privacy policy** document
124+
125+
### Medium-term Changes (1-2 weeks):
126+
5. **πŸ”„ Evaluate Node.js conversion** vs. exception request
127+
6. **πŸ”„ Implement chosen approach**
128+
7. **πŸ”„ Update documentation** for new architecture
129+
8. **πŸ”„ Test compliance** with updated requirements
130+
131+
### Before Submission:
132+
9. **βœ… Validate with MCP inspector**
133+
10. **βœ… Test across Claude platforms**
134+
11. **βœ… Ensure all best practices compliance**
135+
136+
## πŸ’‘ **Recommendation**
137+
138+
**Go with Option A (Pure Node.js)** because:
139+
- Aligns perfectly with Claude's requirements
140+
- Broader compatibility with desktop apps
141+
- Simpler deployment and maintenance
142+
- Better long-term ecosystem fit
143+
144+
The scientific reasoning capabilities can be effectively implemented in Node.js using:
145+
- **Graph Analysis**: NetworkX equivalent libraries like `graphology`
146+
- **Scientific APIs**: Direct integration with PubMed, CrossRef, etc.
147+
- **LLM Integration**: OpenAI/Anthropic/local model APIs
148+
- **Neo4j**: Excellent Node.js driver support
149+
150+
This approach maintains all your innovative scientific reasoning features while meeting Claude's technical requirements perfectly.
151+
152+
## 🎯 **Next Steps**
153+
154+
1. **Decide on implementation approach**
155+
2. **Start with quick compliance fixes** (license, manifest, prompts)
156+
3. **Plan Node.js conversion** if going with Option A
157+
4. **Update submission timeline** accordingly
158+
159+
Would you like me to help implement any of these changes?

0 commit comments

Comments
Β (0)