Cover image
Try Now
2024-12-06

Un servidor de protocolo de contexto modelo (MCP) para interactuar con la API de lienzo. Este servidor le permite administrar cursos, tareas, inscripciones y calificaciones dentro del lienzo.

3 years

Works with Finder

5

Github Watches

5

Github Forks

7

Github Stars

Canvas MCP Server

A Model Context Protocol (MCP) server for interacting with the Canvas API. This server allows you to manage courses, assignments, enrollments, and grades within Canvas.

Prerequisites

  • Node.js: Version 18 or higher
  • Canvas API Token: Obtain from your Canvas account
  • Canvas Domain: Typically canvas.instructure.com

Setup

  1. Clone the Repository

    git clone https://github.com/yourusername/canvas-mcp-server.git
    cd canvas-mcp-server
    
    
  2. Install Dependencies

    npm install
    
  3. Configure Environment Variables

Copy the example environment file:

cp .env.example .env

Edit .env and replace the placeholder values with your actual Canvas API token and domain.

Build the Project

npm run build
  1. Run the Server

    npm start
    

    The server will start and listen for MCP requests via stdio.

Connecting to Claude Desktop

  1. Update Claude Configuration

    Add the MCP server configuration to your claude_desktop_config.json:

  "canvas-mcp-server": {
      "command": "npx",
      "args": ["-y", "canvas-mcp-server"]
    },

Restart Claude Desktop

Quit Claude Desktop completely. Start Claude Desktop again. Navigate to the 🔌 menu to find and connect your Canvas MCP server.

Available Tools (more student focused stuff coming soon)

  • canvas_create_course: Create a new course in Canvas.
  • canvas_update_course: Update an existing course in Canvas.
  • canvas_create_assignment: Create a new assignment in a Canvas course.
  • canvas_update_assignment: Update an existing assignment.
  • canvas_submit_grade: Submit a grade for a student's assignment.
  • canvas_enroll_user: Enroll a user in a course.

Error Handling

Tools return error messages with isError: true to indicate issues. Ensure all required environment variables are set to avoid runtime errors.

Troubleshooting

  • Build Errors:

Check TypeScript version: npx tsc --version Clean and rebuild: rm -rf build/ && npm run build

  • Runtime Errors:

    Check logs for detailed error messages. Ensure environment variables are correctly set.

  • Type Errors:

    Validate types using TypeScript's type checking: npx tsc --noEmit

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License.


Additional Notes

  • Type Safety: The types.ts file ensures that all interactions with the Canvas API are type-safe, reducing runtime errors and improving code maintainability.

  • Error Handling: The server gracefully handles errors by returning meaningful messages with the isError flag, allowing the client (e.g., Claude Desktop) to understand and react appropriately.

  • Environment Variables: Sensitive information like API tokens are managed through environment variables, enhancing security and flexibility across different environments.

  • Modularity: Separating concerns into different files (types.ts, client.ts, index.ts) makes the codebase easier to navigate and maintain.

Feel free to adjust the file paths and configurations according to your project's specific needs. Let me know if you need further assistance!

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • https://duotify.com
  • Professional code reviewer for a unique language, friendly and helpful.

  • Andris Teikmanis
  • Latvian GPT assistant for developing GPT applications

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Navid RezaeiSarchoghaei
  • Professional Flask/SQLAlchemy code guide. Follow: https://x.com/navid_re

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • https://cantaspinar.com
  • Summarizes videos and answers related questions.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • apappascs
  • Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.

  • ShrimpingIt
  • Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx

  • OffchainLabs
  • Implementación de la prueba de estaca Ethereum

  • huahuayu
  • Una puerta de enlace de API unificada para integrar múltiples API de explorador de blockchain similar a Esterscan con soporte de protocolo de contexto modelo (MCP) para asistentes de IA.

  • oatpp
  • Implementación del protocolo de contexto modelo de Anthrope para OAT ++

    Reviews

    5 (1)
    Avatar
    user_pVofldxO
    2025-04-15

    As a devoted user of stun-mcp, I am thoroughly impressed with its seamless performance and reliability. The intuitive interface designed by kadoshita ensures a smooth experience, making it easy to manage my server needs. The product's robust features and consistent updates keep it ahead of the curve. Highly recommend to anyone seeking an efficient server management tool!