Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
**/node_modules
**/.turbo
.env

**/.vscode
**/log_iterations.json
**/log_autonomous.txt

Expand Down
2 changes: 1 addition & 1 deletion packages/mcp/categories.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"knowledge": {
"name": "knowledge",
"description": "AI-powered assistance, documentation, help guides, and educational resources for Starknet ecosystem and MCP servers",
"mcps": ["mcp-doc", "starknet-knowledge"]
"mcps": ["mcp-doc", "starknet-knowledge", "assist-with-dojo"]
},
"tokens": {
"name": "tokens",
Expand Down
15 changes: 15 additions & 0 deletions packages/mcp/mcps.json
Original file line number Diff line number Diff line change
Expand Up @@ -562,5 +562,20 @@
"mist_cash_get_chamber_info"
]
}
},
"assist-with-dojo": {
"client": {
"command": "npx",
"args": ["-y", "@kasarlabs/assist-with-dojo-mcp@latest"],
"transport": "stdio",
"env": {
"CAIRO_CODER_API_KEY": ""
}
},
"description": "AI-powered assistance for Dojo game engine development on Starknet. Use for: learning about Dojo, understanding Dojo concepts, building games with Dojo, getting Dojo best practices",
"promptInfo": {
"expertise": "Dojo game engine, ECS architecture, onchain gaming on Starknet, Dojo toolchain, and Dojo development patterns",
"tools": ["assist-with-dojo"]
}
}
}
15 changes: 15 additions & 0 deletions packages/mcp/mcps.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,21 @@
]
}
},
"assist-with-dojo": {
"client": {
"command": "node",
"args": ["../mcps/assist-with-dojo/build/index.js"],
"transport": "stdio",
"env": {
"CAIRO_CODER_API_KEY": ""
}
},
"description": "AI-powered assistance for Dojo game engine development on Starknet. Use for: learning about Dojo, understanding Dojo concepts, building games with Dojo, getting Dojo best practices",
"promptInfo": {
"expertise": "Dojo game engine, ECS architecture, onchain gaming on Starknet, Dojo toolchain, and Dojo development patterns",
"tools": ["assist-with-dojo"]
}
},
"mist-cash": {
"client": {
"command": "node",
Expand Down
9 changes: 9 additions & 0 deletions packages/mcps/assist-with-dojo/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Cairo Coder API Configuration
# Copy this file to .env and fill in your actual API key

# Your Cairo Coder API key (required)
# Get it from: https://cairo-coder.com/
CAIRO_CODER_API_KEY=your-api-key-here

# Your Cairo Coder Endpoint (if deployed locally)
CAIRO_CODER_API_ENDPOINT=http://localhost:3001
23 changes: 23 additions & 0 deletions packages/mcps/assist-with-dojo/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
extends: ['eslint:recommended', '@typescript-eslint/recommended'],
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module',
},
env: {
node: true,
es6: true,
},
rules: {
// Personnalisez vos règles ici
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'warn',
'prefer-const': 'error',
'no-var': 'error',
},
ignorePatterns: ['dist/', 'node_modules/', '*.js'],
};
86 changes: 86 additions & 0 deletions packages/mcps/assist-with-dojo/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Dependencies
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Build outputs
dist/
build/
*.tsbuildinfo

# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Logs
logs
*.log

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/
*.lcov

# nyc test coverage
.nyc_output

# Dependency directories
node_modules/
jspm_packages/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

# next.js build output
.next

# Nuxt.js build output
.nuxt

# Storybook build outputs
.out
.storybook-out

# Temporary folders
tmp/
temp/
144 changes: 144 additions & 0 deletions packages/mcps/assist-with-dojo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Starknet Knowledge MCP Server

A Model Context Protocol (MCP) server providing access to Starknet ecosystem knowledge and documentation via the Cairo Coder API.

## Quick Start

Use this MCP server directly with npx:

```bash
npx -y @kasarlabs/assist-with-dojo-mcp
```

## Configuration

The server supports two modes of operation:

### Mode 1: Public Cairo Coder API (Default)

Use the official Cairo Coder API with your API key.

**Environment Variables:**

- `CAIRO_CODER_API_KEY`: Your Cairo Coder API key (required)

**MCP Client Setup:**

```json
{
"mcpServers": {
"assist-with-dojo": {
"command": "npx",
"args": ["-y", "@kasarlabs/assist-with-dojo-mcp"],
"env": {
"CAIRO_CODER_API_KEY": "your-api-key-here"
}
}
}
}
```

### Mode 2: Local/Custom Endpoint

Use a local or custom Cairo Coder API endpoint (no API key required).

**Environment Variables:**

- `CAIRO_CODER_API_ENDPOINT`: Your local endpoint URL (e.g., "http://localhost:8000")

**MCP Client Setup:**

```json
{
"mcpServers": {
"assist-with-dojo": {
"command": "npx",
"args": ["-y", "@kasarlabs/assist-with-dojo-mcp"],
"env": {
"CAIRO_CODER_API_ENDPOINT": "http://localhost:8000"
}
}
}
}
```

> **Note:** When using `CAIRO_CODER_API_ENDPOINT`, the server automatically switches to local mode and no API key is required or used.

## Available Tools

### assist-with-dojo

Get information about the Starknet ecosystem, protocols, and general knowledge.

**Parameters:**

- `query` (string, required): Your question about Starknet ecosystem
- `context` (string, optional): Additional context or specific topic area

**Examples:**

```typescript
// General ecosystem question
{
"query": "What are the main DEXs on Starknet?"
}

// Specific protocol information
{
"query": "How does AVNU handle token routing?",
"context": "I'm building a swap aggregator"
}
```

## What You Can Learn About

- **Starknet Ecosystem**: Protocols, dApps, and services on Starknet
- **DeFi Protocols**: Information about DEXs, lending platforms, and yield farming
- **Technical Concepts**: Understanding of Starknet-specific features and technologies
- **Recent Updates**: Latest news and developments in the Starknet ecosystem
- **Best Practices**: Recommendations based on ecosystem standards

## Tips for Better Results

- Be specific about what aspect of the ecosystem you're interested in
- Mention specific protocols or concepts when relevant
- Provide context about your use case for more targeted responses
- Ask about recent developments or protocol comparisons

## Development

### Prerequisites

- Node.js >= 18
- npm or yarn

### Local Installation

```bash
git clone <repository-url>
cd ask-starknet/packages/mcps/assist-with-dojo
npm install
```

### Available Scripts

```bash
npm run build # Build the project
npm run dev # Start in development mode
npm start # Start in production mode
```

## License

MIT

## Support

For issues and questions:

- GitHub Issues: [Create an issue](https://github.com/kasarlabs/ask-starknet/issues)
- MCP Documentation: [Model Context Protocol](https://modelcontextprotocol.io/)

## Contributing

Contributions are welcome! Please check the contribution guidelines before submitting a PR.
Loading