Skip to main content
Glama

MCP Server

by foxywolf-hub
models.py4.28 kB
from sqlalchemy import Column, Integer, String, Text, ForeignKey, Boolean, DateTime, Table from sqlalchemy.sql import func from sqlalchemy.orm import relationship from app.db.database import Base class ApiInfo(Base): __tablename__ = "api_info" api_id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String, nullable=False) method = Column(String, nullable=False) endpoint = Column(String, nullable=False) description = Column(Text) # 관계 설정 test_cases = relationship("ApiTestCase", back_populates="api_info", cascade="all, delete-orphan") class ApiTestCase(Base): __tablename__ = "api_test_case" test_case_id = Column(Integer, primary_key=True, autoincrement=True) api_id = Column(Integer, ForeignKey("api_info.api_id"), nullable=False) title = Column(String, nullable=False) description = Column(Text) # 관계 설정 api_info = relationship("ApiInfo", back_populates="test_cases") test_data = relationship("ApiTestData", back_populates="test_case", cascade="all, delete-orphan") test_runs = relationship("ApiTestRun", back_populates="test_case", cascade="all, delete-orphan") collections = relationship("CollectionTestCase", back_populates="test_case", cascade="all, delete-orphan") class ApiTestData(Base): __tablename__ = "api_test_data" test_data_id = Column(Integer, primary_key=True, autoincrement=True) test_case_id = Column(Integer, ForeignKey("api_test_case.test_case_id"), nullable=False) request_data = Column(Text, nullable=False) expected_response = Column(Text, nullable=False) # 관계 설정 test_case = relationship("ApiTestCase", back_populates="test_data") class User(Base): __tablename__ = "user" user_id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String, nullable=False) email = Column(String, nullable=False, unique=True) role = Column(String) # 관계 설정 collections = relationship("ApiTestCollection", back_populates="user", cascade="all, delete-orphan") test_runs = relationship("ApiTestRun", back_populates="user", cascade="all, delete-orphan") class ApiTestCollection(Base): __tablename__ = "api_test_collection" collection_id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String, nullable=False) description = Column(Text) user_id = Column(Integer, ForeignKey("user.user_id")) # 관계 설정 user = relationship("User", back_populates="collections") test_cases = relationship("CollectionTestCase", back_populates="collection", cascade="all, delete-orphan") class CollectionTestCase(Base): __tablename__ = "collection_test_case" collection_id = Column(Integer, ForeignKey("api_test_collection.collection_id"), primary_key=True) test_case_id = Column(Integer, ForeignKey("api_test_case.test_case_id"), primary_key=True) # 관계 설정 collection = relationship("ApiTestCollection", back_populates="test_cases") test_case = relationship("ApiTestCase", back_populates="collections") class ApiTestRun(Base): __tablename__ = "api_test_run" test_run_id = Column(Integer, primary_key=True, autoincrement=True) test_case_id = Column(Integer, ForeignKey("api_test_case.test_case_id"), nullable=False) executed_at = Column(DateTime, server_default=func.now()) status = Column(String, nullable=False) actual_response = Column(Text) user_id = Column(Integer, ForeignKey("user.user_id")) # 관계 설정 test_case = relationship("ApiTestCase", back_populates="test_runs") user = relationship("User", back_populates="test_runs") results = relationship("ApiTestResult", back_populates="test_run", cascade="all, delete-orphan") class ApiTestResult(Base): __tablename__ = "api_test_result" result_id = Column(Integer, primary_key=True, autoincrement=True) test_run_id = Column(Integer, ForeignKey("api_test_run.test_run_id"), nullable=False) assertion = Column(Text, nullable=False) passed = Column(Boolean, nullable=False) message = Column(Text) # 관계 설정 test_run = relationship("ApiTestRun", back_populates="results")

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/foxywolf-hub/mcp-server1'

If you have feedback or need assistance with the MCP directory API, please join our Discord server