main.py•22.2 kB
# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-29T03:29:54+00:00
import argparse
import json
import os
from datetime import date
from typing import *
from typing import Optional
from autogen.mcp.mcp_proxy import MCPProxy
from autogen.mcp.mcp_proxy.security import BaseSecurity
from fastapi import Query
from models import CampaignWrapped, MediaItemWrapped, SyndicateMarshallerWrapped
from models.Resources import JsonGetResponse
from models.ResourcesLanguages import JsonGetResponse
from models.ResourcesLanguages_id_ import JsonGetResponse
from models.ResourcesMedia import JsonGetResponse
from models.ResourcesMedia_id_ import JsonGetResponse
from models.ResourcesMedia_id_Preview import JpgGetResponse
from models.ResourcesMedia_id_RelatedMedia import FieldFormatGetResponse
from models.ResourcesMedia_id_Thumbnail import JpgGetResponse
from models.ResourcesMedia_id_YoutubeMetaData import JsonGetResponse
from models.ResourcesMediaFeatured import JsonGetResponse
from models.ResourcesMediaMostPopularMedia import FieldFormatGetResponse
from models.ResourcesMediaSearchResults import JsonGetResponse
from models.ResourcesMediaTypes import FieldFormatGetResponse
from models.ResourcesSources import JsonGetResponse
from models.ResourcesSources_id_ import JsonGetResponse
from models.ResourcesSources_id_Syndicate import FieldFormatGetResponse
from models.ResourcesTags import FieldFormatGetResponse
from models.ResourcesTags_id_ import FieldFormatGetResponse
from models.ResourcesTags_id_Media import FieldFormatGetResponse
from models.ResourcesTags_id_Related import FieldFormatGetResponse
from models.ResourcesTagsTagLanguages import FieldFormatGetResponse
from models.ResourcesTagsTagTypes import FieldFormatGetResponse
from models.ResourcesUserMediaLists_id_ import JsonGetResponse
app = MCPProxy(
contact={'email': 'syndicationadmin@hhs.gov'},
description='<div class="swagger-ui-wrap extraFooter"><h3>Common Features / Behaviors</h3> <div class="features"> <ul> <li><strong>* "sort" param:</strong> supports multi column sorting through the use of commas as delimiters, and a hyphen to denote descending order. <br/> <strong><span>Examples:</span></strong> <ul> <li><span class="example">name</span><span class="description">sort results by name ascending</span></li> <li><span class="example">-name</span><span class="description">sort results by name descending</span></li> <li><span class="example">-name,id</span><span class="description">sort results by name descending and then by id ascending</span></li> <li><span class="example">id,-dateContentAuthored</span><span class="description">sort results by id ascending and then date descending</span></li> </ul> </li> <li><strong>Date formats:</strong> Date input format is expected to be based on <a href="http://www.ietf.org/rfc/rfc3339.txt">RFC 3339</a>. <br/> <span><strong>Example:</strong></span> <ul><li>2013-11-18T18:43:01Z</li></ul> </li> </ul> </div> </div>',
license={
'name': 'GNU GENERAL PUBLIC LICENSE',
'url': 'http://www.gnu.org/licenses/gpl.html',
},
termsOfService='http://www.hhs.gov/web/socialmedia/policies/tos.html#ready',
title='HHS Media Services API',
version='2',
servers=[{'url': '/api/v2'}],
)
@app.get(
'/resources.json', description=""" Global search """, tags=['resource_retrieval']
)
def get_resources_json(q: str):
"""
Get Resources by search query
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/campaigns.json',
description=""" Media Listings for a specific campaign """,
tags=['campaign_operations', 'resource_retrieval'],
)
def get_resources_campaigns_json(
max: Optional[int] = None, offset: Optional[int] = None, sort: Optional[str] = None
):
"""
Get Campaigns
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/campaigns/{id}.json',
description=""" Information about a specific campaign """,
tags=['resource_retrieval', 'campaign_operations'],
)
def get_resources_campaigns__id_json(id: int):
"""
Get Campaign by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/campaigns/{id}/media.json',
description=""" Campaign Listings """,
tags=['resource_retrieval', 'media_item_management', 'campaign_operations'],
)
def get_resources_campaigns__id_media_json(
id: int,
sort: Optional[str] = None,
max: Optional[int] = None,
offset: Optional[int] = None,
):
"""
Get MediaItems by Campaign ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/campaigns/{id}/syndicate.{format}',
description=""" MediaItem """,
tags=['resource_retrieval', 'media_item_management', 'campaign_operations'],
)
def get_resources_campaigns__id_syndicate__format(
id: int,
display_method: Optional[str] = Query(None, alias='displayMethod'),
format: str = ...,
):
"""
Get MediaItems for Campaign
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/languages.json',
description=""" Language Listings """,
tags=['resource_retrieval', 'language_operations'],
)
def get_resources_languages_json(
max: Optional[int] = None, offset: Optional[int] = None, sort: Optional[str] = None
):
"""
Get Languages
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/languages/{id}.json',
description=""" Information about a specific language """,
tags=['language_operations', 'resource_retrieval'],
)
def get_resources_languages__id_json(id: int):
"""
Get Language by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media.json',
description=""" Media Items Listings """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media_json(
max: Optional[int] = None,
offset: Optional[int] = None,
sort: Optional[str] = None,
order: Optional[str] = None,
media_types: Optional[str] = Query(None, alias='mediaTypes'),
name: Optional[str] = None,
collection_id: Optional[int] = Query(None, alias='collectionId'),
name_contains: Optional[str] = Query(None, alias='nameContains'),
description_contains: Optional[str] = Query(None, alias='descriptionContains'),
source_url: Optional[str] = Query(None, alias='sourceUrl'),
source_url_contains: Optional[str] = Query(None, alias='sourceUrlContains'),
custom_thumbnail_url: Optional[str] = Query(None, alias='customThumbnailUrl'),
custom_thumbnail_url_contains: Optional[str] = Query(
None, alias='customThumbnailUrlContains'
),
date_content_authored: Optional[date] = Query(None, alias='dateContentAuthored'),
date_content_updated: Optional[date] = Query(None, alias='dateContentUpdated'),
date_content_published: Optional[date] = Query(None, alias='dateContentPublished'),
date_content_reviewed: Optional[date] = Query(None, alias='dateContentReviewed'),
date_syndication_captured: Optional[date] = Query(
None, alias='dateSyndicationCaptured'
),
date_syndication_updated: Optional[date] = Query(
None, alias='dateSyndicationUpdated'
),
content_authored_since_date: Optional[date] = Query(
None, alias='contentAuthoredSinceDate'
),
content_authored_before_date: Optional[date] = Query(
None, alias='contentAuthoredBeforeDate'
),
content_authored_in_range: Optional[str] = Query(
None, alias='contentAuthoredInRange'
),
content_updated_since_date: Optional[date] = Query(
None, alias='contentUpdatedSinceDate'
),
content_updated_before_date: Optional[date] = Query(
None, alias='contentUpdatedBeforeDate'
),
content_updated_in_range: Optional[str] = Query(
None, alias='contentUpdatedInRange'
),
content_published_since_date: Optional[date] = Query(
None, alias='contentPublishedSinceDate'
),
content_published_before_date: Optional[date] = Query(
None, alias='contentPublishedBeforeDate'
),
content_published_in_range: Optional[str] = Query(
None, alias='contentPublishedInRange'
),
content_reviewed_since_date: Optional[date] = Query(
None, alias='contentReviewedSinceDate'
),
content_reviewed_before_date: Optional[date] = Query(
None, alias='contentReviewedBeforeDate'
),
content_reviewed_in_range: Optional[str] = Query(
None, alias='contentReviewedInRange'
),
syndication_captured_since_date: Optional[date] = Query(
None, alias='syndicationCapturedSinceDate'
),
syndication_captured_before_date: Optional[date] = Query(
None, alias='syndicationCapturedBeforeDate'
),
syndication_captured_in_range: Optional[str] = Query(
None, alias='syndicationCapturedInRange'
),
syndication_updated_since_date: Optional[date] = Query(
None, alias='syndicationUpdatedSinceDate'
),
syndication_updated_before_date: Optional[date] = Query(
None, alias='syndicationUpdatedBeforeDate'
),
syndication_updated_in_range: Optional[str] = Query(
None, alias='syndicationUpdatedInRange'
),
syndication_visible_since_date: Optional[date] = Query(
None, alias='syndicationVisibleSinceDate'
),
syndication_visible_before_date: Optional[date] = Query(
None, alias='syndicationVisibleBeforeDate'
),
syndication_visible_in_range: Optional[date] = Query(
None, alias='syndicationVisibleInRange'
),
language_id: Optional[int] = Query(None, alias='languageId'),
language_name: Optional[str] = Query(None, alias='languageName'),
language_iso_code: Optional[str] = Query(None, alias='languageIsoCode'),
hash: Optional[str] = None,
hash_contains: Optional[str] = Query(None, alias='hashContains'),
source_id: Optional[int] = Query(None, alias='sourceId'),
source_name: Optional[str] = Query(None, alias='sourceName'),
source_name_contains: Optional[str] = Query(None, alias='sourceNameContains'),
source_acronym: Optional[str] = Query(None, alias='sourceAcronym'),
source_acronym_contains: Optional[str] = Query(None, alias='sourceAcronymContains'),
tag_ids: Optional[str] = Query(None, alias='tagIds'),
restrict_to_set: Optional[str] = Query(None, alias='restrictToSet'),
created_by: Optional[str] = Query(None, alias='createdBy'),
):
"""
Get MediaItems
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/featured.json',
description=""" Get the list of featured content in the syndication system """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media_featured_json(
sort: Optional[str] = None, max: Optional[int] = None, offset: Optional[int] = None
):
"""
Get the list of featured content in the syndication system
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/mostPopularMedia.{format}',
description=""" Get the media with the highest ratings. """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media_most_popular_media__format(
max: Optional[int] = None, offset: Optional[int] = None, format: str = ...
):
"""
Get MediaItems by popularity
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/searchResults.json',
description=""" Full search """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media_search_results_json(
q: str, max: Optional[int] = None, offset: Optional[int] = None
):
"""
Get MediaItems by search query
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/{id}.json',
description=""" Information about a specific media item """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media__id_json(id: int):
"""
Get MediaItem by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/{id}/content',
description=""" The actual media content (html, image, etc...) """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media__id_content(
id: int, called_by_build: Optional[bool] = Query(None, alias='calledByBuild')
):
"""
Get content for MediaItem
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/{id}/embed.json',
description=""" Get the javascript or iframe embed code for this item (to embed it on a web page). """,
tags=['media_item_management', 'resource_retrieval'],
)
def get_resources_media__id_embed_json(
id: int,
flavor: Optional[str] = None,
width: Optional[int] = None,
height: Optional[int] = None,
iframe_name: Optional[str] = Query(None, alias='iframeName'),
exclude_jquery: Optional[bool] = Query(False, alias='excludeJquery'),
exclude_div: Optional[bool] = Query(False, alias='excludeDiv'),
div_id: Optional[str] = Query(None, alias='divId'),
display_method: Optional[str] = Query(None, alias='displayMethod'),
):
"""
Get embed code for MediaItem
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/{id}/preview.jpg',
description=""" Get the jpg preview of the content item where applicable. """,
tags=['resource_retrieval', 'tag_operations'],
)
def get_resources_media__id_preview_jpg(id: int):
"""
Get Tag by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/{id}/relatedMedia.{format}',
description=""" Get the media related to the current media item. """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media__id_related_media__format(
id: int,
max: Optional[int] = None,
offset: Optional[int] = None,
sort: Optional[str] = None,
format: str = ...,
):
"""
Get related MediaItems by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/{id}/syndicate.{format}',
description=""" Get syndicated content. """,
tags=['media_item_management', 'resource_retrieval'],
)
def get_resources_media__id_syndicate__format(
id: int,
css_class: Optional[str] = Query('syndicate', alias='cssClass'),
strip_styles: Optional[bool] = Query(False, alias='stripStyles'),
strip_scripts: Optional[bool] = Query(False, alias='stripScripts'),
strip_images: Optional[bool] = Query(False, alias='stripImages'),
strip_breaks: Optional[bool] = Query(False, alias='stripBreaks'),
strip_classes: Optional[bool] = Query(False, alias='stripClasses'),
font_size: Optional[int] = Query(None, alias='font-size'),
image_float: Optional[str] = Query(None, alias='imageFloat'),
image_margin: Optional[str] = Query(None, alias='imageMargin'),
autoplay: Optional[bool] = True,
rel: Optional[bool] = False,
format: str = ...,
):
"""
Get syndicated content for MediaItem
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/{id}/thumbnail.jpg',
description=""" Get the jpg thumbnail of the content item where applicable. """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media__id_thumbnail_jpg(id: int):
"""
Get JPG thumbnail for MediaItem
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/media/{id}/youtubeMetaData.json',
description=""" Youtube meta-data for a video item. """,
tags=['resource_retrieval', 'media_item_management'],
)
def get_resources_media__id_youtube_meta_data_json(id: int):
"""
Get Youtube metadata for MediaItem
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/mediaTypes.{format}',
description=""" Information about media types """,
tags=['media_item_management', 'resource_retrieval'],
)
def get_resources_media_types__format(format: str):
"""
Get MediaTypes
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/sources.json',
description=""" Source Listings """,
tags=['resource_retrieval', 'source_information'],
)
def get_resources_sources_json(
max: Optional[int] = None, offset: Optional[int] = None, sort: Optional[str] = None
):
"""
Get Sources
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/sources/{id}.json',
description=""" Information about a specific source. """,
tags=['resource_retrieval', 'source_information'],
)
def get_resources_sources__id_json(id: int):
"""
Get Source by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/sources/{id}/syndicate.{format}',
description=""" MediaItem """,
tags=['resource_retrieval', 'media_item_management', 'source_information'],
)
def get_resources_sources__id_syndicate__format(
id: int,
display_method: Optional[str] = Query(None, alias='displayMethod'),
format: str = ...,
):
"""
Get MediaItems for Source
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/tags.{format}',
description=""" List of Tags """,
tags=['resource_retrieval', 'tag_operations'],
)
def get_resources_tags__format(
sort: Optional[str] = None,
max: Optional[int] = None,
offset: Optional[int] = None,
name: Optional[str] = None,
name_contains: Optional[str] = Query(None, alias='nameContains'),
media_id: Optional[int] = Query(None, alias='mediaId'),
type_id: Optional[int] = Query(None, alias='typeId'),
type_name: Optional[str] = Query(None, alias='typeName'),
format: str = ...,
):
"""
Get Tags
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/tags/tagLanguages.{format}',
description=""" List of Tag Languages """,
tags=['language_operations', 'tag_operations'],
)
def get_resources_tags_tag_languages__format(format: str):
"""
Get TagLanguages
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/tags/tagTypes.{format}',
description=""" List of Types """,
tags=['resource_retrieval', 'media_item_management', 'tag_operations'],
)
def get_resources_tags_tag_types__format(format: str):
"""
Get MediaItems for Tag
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/tags/{id}.{format}',
description=""" Information about a specific tag """,
tags=['resource_retrieval', 'tag_operations'],
)
def get_resources_tags__id__format(id: int, format: str = ...):
"""
Get Tag by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/tags/{id}/media.{format}',
description=""" MediaItem """,
tags=['resource_retrieval', 'media_item_management', 'tag_operations'],
)
def get_resources_tags__id_media__format(
id: int,
sort: Optional[str] = None,
max: Optional[int] = None,
offset: Optional[int] = None,
format: str = ...,
):
"""
Get MediaItems for Tag
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/tags/{id}/related.{format}',
description=""" Information about related tags to a specific tag """,
tags=['resource_retrieval', 'tag_operations'],
)
def get_resources_tags__id_related__format(
id: int,
sort: Optional[str] = None,
max: Optional[int] = None,
offset: Optional[int] = None,
format: str = ...,
):
"""
Get related Tags by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/tags/{id}/syndicate.{format}',
description=""" MediaItem """,
tags=['resource_retrieval', 'media_item_management', 'tag_operations'],
)
def get_resources_tags__id_syndicate__format(
id: int,
display_method: Optional[str] = Query(None, alias='displayMethod'),
format: str = ...,
):
"""
Get MediaItems for Tag
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/resources/userMediaLists/{id}.json',
description=""" Get a specific user media list. """,
tags=['user_media_lists', 'media_item_management'],
)
def get_resources_user_media_lists__id_json(
id: int, display_method: Optional[str] = Query(None, alias='displayMethod')
):
"""
Get UserMediaList by ID
"""
raise RuntimeError("Should be patched by MCPProxy and never executed")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="MCP Server")
parser.add_argument(
"transport",
choices=["stdio", "sse", "streamable-http"],
help="Transport mode (stdio, sse or streamable-http)",
)
args = parser.parse_args()
if "CONFIG_PATH" in os.environ:
config_path = os.environ["CONFIG_PATH"]
app.load_configuration(config_path)
if "CONFIG" in os.environ:
config = os.environ["CONFIG"]
app.load_configuration_from_string(config)
if "SECURITY" in os.environ:
security_params = BaseSecurity.parse_security_parameters_from_env(
os.environ,
)
app.set_security_params(security_params)
mcp_settings = json.loads(os.environ.get("MCP_SETTINGS", "{}"))
app.get_mcp(**mcp_settings).run(transport=args.transport)