A plugin is a registered capability that lets an agent or chat interface perform a defined action. It may wrap one or more functions, APIs, web searches, or other external abilities. section 5.1 section 5.4
Semantic Kernel organizes plugins and acts as an orchestrator for tool calls. Semantic functions use prompts and an LLM; native functions use code for tasks such as web scraping or API searches. section 5.3 section 5.4
Create and use a plugin through these practical steps:
- Group related functions in a plugin folder and describe each function as if an LLM will choose it. section 5.4.1
- Define a semantic function with configuration and a prompt, or wrap native code in a plugin. section 5.4.1 section 5.4
- Load the plugin into the kernel; loading registers it so code can invoke it directly or an LLM can call it through chat. section 5.4.1
- Expose selected functions to chat, allowing the agent to choose tools and make multiple calls for one request. section 5.5.3
Movie recommendation plugin
A Recommend_Movies semantic plugin accepts a list of watched movies and prompts an LLM to recommend an unseen movie. A TMDbService plugin instead exposes native API functions such as finding genre IDs and retrieving top movies by genre. section 5.4.1 section 5.5.2
Figure 5.1 How a ChatGPT plugin operates and how plugins and other external tools (e.g., APIs) align with the Use External Tools prompt engineering strategy
Trace how a plugin receives an actionable request, uses an external capability, and returns information through the LLM to the user. section 5.1





